[247929] Source Folder Settings are ignored.
diff --git a/bundles/org.eclipse.jst.ws.axis2.consumption.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws.axis2.consumption.core/META-INF/MANIFEST.MF
index c25f8a7..3a743a9 100644
--- a/bundles/org.eclipse.jst.ws.axis2.consumption.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.axis2.consumption.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.axis2.consumption.core
-Bundle-Version: 1.0.103.qualifier
+Bundle-Version: 1.0.104.qualifier
 Bundle-Activator: org.eclipse.jst.ws.axis2.consumption.core.plugin.WebServiceAxis2ConsumptionCorePlugin
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.ui,
diff --git a/bundles/org.eclipse.jst.ws.axis2.consumption.core/src/org/eclipse/jst/ws/axis2/consumption/core/command/Axis2ClientCodegenCommand.java b/bundles/org.eclipse.jst.ws.axis2.consumption.core/src/org/eclipse/jst/ws/axis2/consumption/core/command/Axis2ClientCodegenCommand.java
index d99d9ef..6308274 100644
--- a/bundles/org.eclipse.jst.ws.axis2.consumption.core/src/org/eclipse/jst/ws/axis2/consumption/core/command/Axis2ClientCodegenCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis2.consumption.core/src/org/eclipse/jst/ws/axis2/consumption/core/command/Axis2ClientCodegenCommand.java
@@ -21,7 +21,8 @@
  * 20080213   218910 kathy@ca.ibm.com - Kathy Chan
  * 20080621   200069 samindaw@wso2.com - Saminda Wijeratne, saving the retrieved WSDL so no need to retrieve it again 
  * 20080616   237363 samindaw@wso2.com - Saminda Wijeratne, get ResourceContext from environment instead of preference
- *******************************************************************************/
+ * 20080924   247929 samindaw@wso2.com - Saminda Wijeratne, source folder not correctly set
+*******************************************************************************/
 package org.eclipse.jst.ws.axis2.consumption.core.command;
 
 import java.io.File;
@@ -41,6 +42,7 @@
 import org.eclipse.jst.ws.axis2.consumption.core.utils.WSDL2JavaGenerator;
 import org.eclipse.jst.ws.axis2.consumption.core.utils.WSDLPropertyReader;
 import org.eclipse.jst.ws.axis2.core.constant.Axis2Constants;
+import org.eclipse.jst.ws.axis2.core.utils.Axis2CoreUtils;
 import org.eclipse.jst.ws.axis2.core.utils.ClassLoadingUtil;
 import org.eclipse.jst.ws.axis2.core.utils.FacetContainerUtils;
 import org.eclipse.jst.ws.axis2.core.utils.FileUtils;
@@ -129,6 +131,7 @@
             (model.getPackageText()!=null)?model.getPackageText():null,
             "java",
             tempCodegenOutputLocation,
+            Axis2CoreUtils.getSourceFolder(model.getWebProjectName()),
             model.getNamespaseToPackageMapping(),
             false	//Serverside interface always false
            ); 
diff --git a/bundles/org.eclipse.jst.ws.axis2.consumption.core/src/org/eclipse/jst/ws/axis2/consumption/core/utils/WSDL2JavaGenerator.java b/bundles/org.eclipse.jst.ws.axis2.consumption.core/src/org/eclipse/jst/ws/axis2/consumption/core/utils/WSDL2JavaGenerator.java
index c05c86f..0dd95e4 100644
--- a/bundles/org.eclipse.jst.ws.axis2.consumption.core/src/org/eclipse/jst/ws/axis2/consumption/core/utils/WSDL2JavaGenerator.java
+++ b/bundles/org.eclipse.jst.ws.axis2.consumption.core/src/org/eclipse/jst/ws/axis2/consumption/core/utils/WSDL2JavaGenerator.java
@@ -13,6 +13,7 @@
  * 										  runtime to the framework for 168762
  * 20070426   183046 sandakith@wso2.com - Lahiru Sandakith
  * 20070507   184729 sandakith@wso2.com - Lahiru Sandakith
+ * 20080924   247929 samindaw@wso2.com - Saminda Wijeratne, source folder not correctly set
  *******************************************************************************/
 package org.eclipse.jst.ws.axis2.consumption.core.utils;
 
@@ -59,6 +60,7 @@
             		  String packageName,
             		  String selectedLanguage,
             		  String outputLocation,
+            		  String sourceFolder,
             		  String namespace2packageList,
             		  boolean isServerSideInterface
             		  ){
@@ -263,6 +265,16 @@
     					getStringArray(namespace2packageList)}));
        }
        
+
+       if (namespace2packageList!= null){
+    	   Field SOURCE_FOLDER_NAME_OPTION = CommandLineOptionConstantsClass
+			.getField("SOURCE_FOLDER_NAME_OPTION");
+    	   optionMap.put((String)SOURCE_FOLDER_NAME_OPTION.get(String.class),
+    			   CommandLineOptionConstructor.newInstance(
+    					   new Object[]{(String)SOURCE_FOLDER_NAME_OPTION.get(String.class),
+    							   getStringArray(sourceFolder)}));
+       }
+       
        //server side interface  mapping
        if (isServerSideInterface){
 							//	       optionMap.put(CommandLineOptionConstants.WSDL2JavaConstants.SERVER_SIDE_INTERFACE_OPTION,
diff --git a/bundles/org.eclipse.jst.ws.axis2.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws.axis2.core/META-INF/MANIFEST.MF
index daf460e..0b15e5a 100644
--- a/bundles/org.eclipse.jst.ws.axis2.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.axis2.core/META-INF/MANIFEST.MF
@@ -27,7 +27,8 @@
  org.eclipse.wst.common.frameworks.ui,
  org.eclipse.wst.command.env.ui,
  org.eclipse.wst.server.core,
- org.eclipse.wst.validation;bundle-version="[1.2.0,2.0.0)"
+ org.eclipse.wst.validation;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.jdt.core
 Eclipse-LazyStart: true
 Export-Package: org.eclipse.jst.ws.axis2.core.constant,
  org.eclipse.jst.ws.axis2.core.context,
diff --git a/bundles/org.eclipse.jst.ws.axis2.core/src/org/eclipse/jst/ws/axis2/core/utils/Axis2CoreUtils.java b/bundles/org.eclipse.jst.ws.axis2.core/src/org/eclipse/jst/ws/axis2/core/utils/Axis2CoreUtils.java
index 7293545..55ed01d 100644
--- a/bundles/org.eclipse.jst.ws.axis2.core/src/org/eclipse/jst/ws/axis2/core/utils/Axis2CoreUtils.java
+++ b/bundles/org.eclipse.jst.ws.axis2.core/src/org/eclipse/jst/ws/axis2/core/utils/Axis2CoreUtils.java
@@ -15,6 +15,7 @@
  * 20070501   180284 sandakith@wso2.com - Lahiru Sandakith
  * 20070824   200515 sandakith@wso2.com - Lahiru Sandakith, NON-NLS move to seperate file
  * 20080625   210817 samindaw@wso2.com - Saminda Wijeratne, Setting the proxyBean and proxyEndPoint values - Refactoring
+ * 20080924   247929 samindaw@wso2.com - Saminda Wijeratne, source folder not correctly set
  *******************************************************************************/
 package org.eclipse.jst.ws.axis2.core.utils;
 
@@ -25,13 +26,23 @@
 import java.io.OutputStreamWriter;
 import java.io.Writer;
 import java.net.URL;
+import java.util.ArrayList;
 import java.util.HashMap;
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 
+import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jdt.internal.core.JavaProject;
 import org.eclipse.jst.ws.axis2.core.constant.Axis2Constants;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -197,4 +208,39 @@
 		}
 		return doc;
 	}
+	
+	
+	public static String getSourceFolder(String projectName){
+		String src=Axis2Constants.DIR_SRC;
+		try {
+			String[] javaProjectSourceDirectories = getJavaProjectSourceDirectories(projectName);
+			src=javaProjectSourceDirectories[0];
+		} catch (JavaModelException e) {
+		} catch (CoreException e) {
+		}
+		return src;
+	}
+	
+	public static String[] getJavaProjectSourceDirectories (String projectName) throws CoreException, JavaModelException{
+	    ArrayList paths = new ArrayList();
+	    
+	    IProject project =ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+	    if (project.isOpen() && JavaProject.hasJavaNature(project)) {
+	      IJavaProject javaProject = JavaCore.create(project);
+	    
+	      IClasspathEntry[] classpathEntries = null;
+	      classpathEntries = javaProject.getResolvedClasspath(true);
+	      
+	      for (int i = 0; i<classpathEntries.length;i++){         
+	      	IClasspathEntry entry = classpathEntries[i];
+	        if (entry.getContentKind() == IPackageFragmentRoot.K_SOURCE)
+	        {
+	          IPath path = entry.getPath();
+	          String srcPath = path.segments()[path.segmentCount()-1];
+	          paths.add(srcPath);
+	        }
+	      }
+	    }
+	    return (String[])paths.toArray(new String[0]);
+	  } 
 }
diff --git a/bundles/org.eclipse.jst.ws.axis2.creation.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws.axis2.creation.core/META-INF/MANIFEST.MF
index 97f3093..74f73df 100644
--- a/bundles/org.eclipse.jst.ws.axis2.creation.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.axis2.creation.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.axis2.creation.core
-Bundle-Version: 1.0.103.qualifier
+Bundle-Version: 1.0.104.qualifier
 Bundle-Activator: org.eclipse.jst.ws.axis2.creation.core.plugin.WebServiceAxis2CreationCorePlugin
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.core.runtime,
diff --git a/bundles/org.eclipse.jst.ws.axis2.creation.core/src/org/eclipse/jst/ws/axis2/creation/core/command/Axis2SkelImplCommand.java b/bundles/org.eclipse.jst.ws.axis2.creation.core/src/org/eclipse/jst/ws/axis2/creation/core/command/Axis2SkelImplCommand.java
index 27b2243..d21f541 100644
--- a/bundles/org.eclipse.jst.ws.axis2.creation.core/src/org/eclipse/jst/ws/axis2/creation/core/command/Axis2SkelImplCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis2.creation.core/src/org/eclipse/jst/ws/axis2/creation/core/command/Axis2SkelImplCommand.java
@@ -13,6 +13,7 @@
  * 										  runtime to the framework for 168762
  * 20070426   183046 sandakith@wso2.com - Lahiru Sandakith
  * 20070824   200515 sandakith@wso2.com - Lahiru Sandakith, NON-NLS move to seperate file
+ * 20080924   247929 samindaw@wso2.com - Saminda Wijeratne, source folder not correctly set
  *******************************************************************************/
 package org.eclipse.jst.ws.axis2.creation.core.command;
 
@@ -27,6 +28,7 @@
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.axis2.core.constant.Axis2Constants;
+import org.eclipse.jst.ws.axis2.core.utils.Axis2CoreUtils;
 import org.eclipse.jst.ws.axis2.core.utils.FileUtils;
 import org.eclipse.jst.ws.axis2.creation.core.data.DataModel;
 import org.eclipse.jst.ws.axis2.creation.core.messages.Axis2CreationUIMessages;
@@ -59,7 +61,7 @@
 													   model.getWebProjectName());
 		String projectSrcDir =  FileUtils.addAnotherNodeToPath(
 											currentDynamicWebProjectDir, 
-											Axis2Constants.DIR_SRC);
+											Axis2CoreUtils.getSourceFolder(model.getWebProjectName()));
 
 		String packagePath = CommonUtils.packgeName2PathName(model.getPackageText());
 		String packageDir = FileUtils.addAnotherNodeToPath(projectSrcDir, packagePath);
diff --git a/bundles/org.eclipse.jst.ws.axis2.creation.core/src/org/eclipse/jst/ws/axis2/creation/core/command/Axis2WSDL2JavaCommand.java b/bundles/org.eclipse.jst.ws.axis2.creation.core/src/org/eclipse/jst/ws/axis2/creation/core/command/Axis2WSDL2JavaCommand.java
index 041fdb1..4fb0602 100644
--- a/bundles/org.eclipse.jst.ws.axis2.creation.core/src/org/eclipse/jst/ws/axis2/creation/core/command/Axis2WSDL2JavaCommand.java
+++ b/bundles/org.eclipse.jst.ws.axis2.creation.core/src/org/eclipse/jst/ws/axis2/creation/core/command/Axis2WSDL2JavaCommand.java
@@ -20,6 +20,7 @@
  * 20080213   218910 kathy@ca.ibm.com - Kathy Chan
  * 20080621   200069 samindaw@wso2.com - Saminda Wijeratne, saving the retrieved WSDL so no need to retrieve it again
  * 20080616   237363 samindaw@wso2.com - Saminda Wijeratne, get ResourceContext from environment instead of preference
+ * 20080924   247929 samindaw@wso2.com - Saminda Wijeratne, source folder not correctly set
  *******************************************************************************/
 package org.eclipse.jst.ws.axis2.creation.core.command;
 
@@ -36,6 +37,7 @@
 import org.eclipse.jst.ws.axis2.consumption.core.utils.ContentCopyUtils;
 import org.eclipse.jst.ws.axis2.consumption.core.utils.WSDL2JavaGenerator;
 import org.eclipse.jst.ws.axis2.consumption.core.utils.WSDLPropertyReader;
+import org.eclipse.jst.ws.axis2.core.utils.Axis2CoreUtils;
 import org.eclipse.jst.ws.axis2.core.utils.ClassLoadingUtil;
 import org.eclipse.jst.ws.axis2.core.utils.FacetContainerUtils;
 import org.eclipse.jst.ws.axis2.core.utils.FileUtils;
@@ -114,6 +116,7 @@
             (model.getPackageText()!=null)?model.getPackageText():null,
             "java",
             tempCodegenOutputLocation,
+            Axis2CoreUtils.getSourceFolder(model.getWebProjectName()),
             model.getNamespaseToPackageMapping(),
             model.isGenerateServerSideInterface()
           );