This commit was manufactured by cvs2svn to create tag 'R1_5_4'.
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws.axis.consumption.core/META-INF/MANIFEST.MF
index b96c3d2..be37b0f 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.axis.consumption.core; singleton:=true
-Bundle-Version: 1.0.103.qualifier
+Bundle-Version: 1.0.104.qualifier
 Bundle-Activator: org.eclipse.jst.ws.internal.axis.consumption.core.plugin.WebServiceAxisConsumptionCorePlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
@@ -12,8 +12,8 @@
  org.eclipse.jst.ws.internal.axis.consumption.core.context;x-internal:=true,
  org.eclipse.jst.ws.internal.axis.consumption.core.plugin;x-internal:=true
 Require-Bundle: org.apache.ant;bundle-version="[1.6.5,1.7.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.4.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.wst.command.env.core;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.wst.ws;bundle-version="[1.0.100,1.1.0)",
@@ -21,7 +21,7 @@
  org.apache.axis;bundle-version="[1.3.0,1.4.0)",
  org.eclipse.wst.common.modulecore;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.wst.common.frameworks;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.core.commands;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.commands;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.wst.common.environment;bundle-version="[1.0.100,1.1.0)",
  org.eclipse.wst.command.env;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.wst.server.core;bundle-version="[1.0.102,1.1.0)"
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/AxisConsumptionCore.properties b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/AxisConsumptionCore.properties
index 022ed2f..f983fda 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/AxisConsumptionCore.properties
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/AxisConsumptionCore.properties
@@ -1,12 +1,15 @@
 ###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
+# Copyright (c) 2004, 2007 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
 # http://www.eclipse.org/legal/epl-v10.html
 #
 # Contributors:
-#     IBM Corporation - initial API and implementation
+# IBM Corporation - initial API and implementation
+# yyyymmdd bug      Email and other contact information
+# -------- -------- -----------------------------------------------------------
+# 20070412   177005 pmoogk@ca.ibm.com - Peter Moogk
 ###############################################################################
 
 #
@@ -35,3 +38,5 @@
 # Messages common for all
 #
 MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET=IWAB0397E JavaWSDLParam not set
+MSG_ERROR_FOLDER_NOT_FOUND=Output folder: {0} was not found.
+
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/AxisConsumptionCoreMessages.java b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/AxisConsumptionCoreMessages.java
index c43b740..2bda898 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/AxisConsumptionCoreMessages.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/AxisConsumptionCoreMessages.java
@@ -1,12 +1,15 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
+ * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
- *     IBM Corporation - initial API and implementation
+ * IBM Corporation - initial API and implementation
+ * yyyymmdd bug      Email and other contact information
+ * -------- -------- -----------------------------------------------------------
+ * 20070412   177005 pmoogk@ca.ibm.com - Peter Moogk
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.axis.consumption.core;
 
@@ -31,8 +34,9 @@
 	public static String MSG_ERROR_JAVA_WSDL_PARAM_NOT_SET;
 	public static String MSG_ERROR_MOVE_RESOURCE;
 	public static String MSG_ERROR_CREATE_TEMP_DIR;
-
+  public static String MSG_ERROR_FOLDER_NOT_FOUND;
+  
 	static {
 		NLS.initializeMessages(BUNDLE_NAME, AxisConsumptionCoreMessages.class);
 	}
-}
\ No newline at end of file
+}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/common/JavaWSDLParamModifier.java b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/common/JavaWSDLParamModifier.java
index 8d1b149..e7beead 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/common/JavaWSDLParamModifier.java
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.core/src/org/eclipse/jst/ws/internal/axis/consumption/core/common/JavaWSDLParamModifier.java
@@ -1,3 +1,16 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ * yyyymmdd bug      Email and other contact information
+ * -------- -------- -----------------------------------------------------------
+ * 20070412   177005 pmoogk@ca.ibm.com - Peter Moogk
+ *******************************************************************************/
 package org.eclipse.jst.ws.internal.axis.consumption.core.common;
 
 import java.util.HashMap;
@@ -5,11 +18,13 @@
 import java.util.Map;
 import java.util.Properties;
 import java.util.StringTokenizer;
-
 import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.jst.ws.internal.axis.consumption.core.AxisConsumptionCoreMessages;
 import org.eclipse.wst.command.internal.env.core.data.BeanModifier;
+import org.eclipse.wst.common.internal.environment.eclipse.FileResourceUtils;
 
 public class JavaWSDLParamModifier implements BeanModifier {
 
@@ -40,29 +55,74 @@
 			}
 			if (propertyMap.containsKey("JavaOutput"))
 			{				 
-				javaWSDLParam.setJavaOutput((String)propertyMap.get("JavaOutput"));
+              String outputLocation = (String)propertyMap.get("JavaOutput");
+              int    index          = outputLocation.indexOf( ':' );
+        
+              if( index == -1 )
+              {
+                // A colon was not found in the string so we will assume that
+                // it is a workspace relative uri for now.
+                IResource resource = FileResourceUtils.findResource( new Path( outputLocation ) );
+          
+                if( resource == null || resource.getLocation() == null )
+                {
+                  throw new IllegalArgumentException( AxisConsumptionCoreMessages.bind( AxisConsumptionCoreMessages.MSG_ERROR_FOLDER_NOT_FOUND,
+                                                                                        outputLocation ) ); 
+                }
+          
+                outputLocation = resource.getLocation().toString();
+              }
+        
+		      javaWSDLParam.setJavaOutput( outputLocation );
 			}
 			if (propertyMap.containsKey("Methods"))
 			{
-				//get Method list from the map
-				String methodList = (String)propertyMap.get("Methods");
+			  //get Method list from the map
+			  String methodList = (String)propertyMap.get("Methods");
 				
-				//tokenize the method list
-				StringTokenizer tok = new StringTokenizer(methodList, " ");
-				Hashtable methods = new Hashtable();
-				while (tok.hasMoreTokens())
-				{
-					methods.put(tok.nextToken(), new Boolean(true));
-				}				
-				javaWSDLParam.setMethods(methods);
+			  //tokenize the method list
+			  StringTokenizer tok = new StringTokenizer(methodList, " ");
+			  Hashtable methods = new Hashtable();
+			  while (tok.hasMoreTokens())
+			  {
+                String method = (String)tok.nextToken();
+          
+                if( method.indexOf( '(' ) == -1 )
+                {
+                  method = method + "()";
+                }
+          
+				methods.put( method, new Boolean(true));
+			  }				
+			  javaWSDLParam.setMethods(methods);
 			}
 			if (propertyMap.containsKey("Mappings"))
 			{
-				//get name of the file that has the mappings in it from the map
-				String filename = (String)propertyMap.get("Mappings");
-				//get the list of mapping from the file
-				 HashMap mappings = readMappingsFromFile(filename);
-				 javaWSDLParam.setMappings(mappings);
+			  //get name of the file that has the mappings in it from the map
+			  String filename = (String)propertyMap.get("Mappings");
+        
+			  //get the list of mapping from the file
+			  HashMap mappings = readMappingsFromFile(filename);
+        
+			  javaWSDLParam.setMappings(mappings);
+        
+              String beanName = javaWSDLParam.getBeanName();
+        
+              if( beanName != null && !beanName.equals("") )
+              {
+                int    lastDot     = beanName.lastIndexOf( '.' );
+                String packageName = lastDot == -1 ? null : beanName.substring( 0, lastDot );
+          
+                if( mappings != null && packageName != null )
+                {
+                  String tns = (String)mappings.get( packageName );
+            
+                  if( tns != null )
+                  {
+                    javaWSDLParam.setNamespace(tns);
+                  }
+                }   
+              }
 			}
 		}
 	}
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws.axis.consumption.ui/META-INF/MANIFEST.MF
index aebe829..70c577b 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.axis.consumption.ui; singleton:=true
-Bundle-Version: 1.0.102.qualifier
+Bundle-Version: 1.0.103.qualifier
 Bundle-Activator: org.eclipse.jst.ws.internal.axis.consumption.ui.plugin.WebServiceAxisConsumptionUIPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
@@ -16,9 +16,9 @@
  org.eclipse.jst.ws.internal.axis.consumption.ui.wsrt;x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.4.0)",
- org.eclipse.emf.common;bundle-version="[2.2.0,2.4.0)",
- org.eclipse.emf.ecore;bundle-version="[2.2.0,2.4.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.emf.common;bundle-version="[2.2.0,2.3.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.2.0,2.3.0)",
  org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.jem;bundle-version="[1.2.0,1.3.0)",
  org.eclipse.jem.util;bundle-version="[1.2.0,1.3.0)",
@@ -29,7 +29,7 @@
  org.eclipse.jst.ws.axis.consumption.core;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.jst.ws.ui;bundle-version="[1.0.100,1.1.0)",
  org.eclipse.jst.ws.consumption;bundle-version="[1.0.101,1.1.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.wst.command.env.core;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.wst.command.env;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.wst.command.env.ui;bundle-version="[1.0.101,1.1.0)",
@@ -43,5 +43,5 @@
  org.apache.axis;bundle-version="[1.3.0,1.4.0)",
  org.eclipse.wst.common.frameworks;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.wst.common.environment;bundle-version="[1.0.100,1.1.0)",
- com.ibm.icu;bundle-version="[3.4.4,4.0.0)"
+ com.ibm.icu;bundle-version="[3.4.4,3.5.0)"
 Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.jst.ws.axis.consumption.ui/plugin.xml b/bundles/org.eclipse.jst.ws.axis.consumption.ui/plugin.xml
index 5e211f5..7c50c17 100644
--- a/bundles/org.eclipse.jst.ws.axis.consumption.ui/plugin.xml
+++ b/bundles/org.eclipse.jst.ws.axis.consumption.ui/plugin.xml
@@ -22,22 +22,7 @@
               property="CustomizeClientMappings"/>                                 
  		<map
               key="Mappings"
-              operation="org.eclipse.jst.ws.internal.axis.consumption.ui.task.DefaultsForHTTPBasicAuthCommand"
-              property="JavaWSDLParam"
-              transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>
- 		<map
-              key="Mappings"
-              operation="org.eclipse.jst.ws.internal.axis.consumption.ui.command.DefaultsForClientJavaWSDLCommand"
-              property="JavaWSDLParam"
-              transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>
- 		<map
-              key="Mappings"
-              operation="org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand"
-              property="JavaWSDLParam"
-              transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>
- 		<map
-              key="Mappings"
-              operation="org.eclipse.jst.ws.internal.axis.consumption.ui.task.Stub2BeanCommand"
+              operation="org.eclipse.jst.ws.internal.axis.consumption.ui.task.ClientCodeGenOperation"
               property="JavaWSDLParam"
               transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>
   </extension> 
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws.axis.creation.ui/META-INF/MANIFEST.MF
index caa59c0..1b9b3ca 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.axis.creation.ui; singleton:=true
-Bundle-Version: 1.0.103.qualifier
+Bundle-Version: 1.0.105.qualifier
 Bundle-Activator: org.eclipse.jst.ws.internal.axis.creation.ui.plugin.WebServiceAxisCreationUIPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
@@ -17,8 +17,8 @@
  org.eclipse.jst.ws.internal.axis.creation.ui.wsrt;x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.4.0)",
- org.eclipse.emf.ecore;bundle-version="[2.2.0,2.4.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.2.0,2.3.0)",
  org.eclipse.jem;bundle-version="[1.2.0,1.3.0)",
  org.eclipse.jem.workbench;bundle-version="[1.2.0,1.3.0)",
  org.eclipse.wst.ws.parser;bundle-version="[1.0.100,1.1.0)",
@@ -28,7 +28,7 @@
  org.eclipse.jst.ws.ui;bundle-version="[1.0.100,1.1.0)",
  org.eclipse.jst.ws.axis.consumption.core;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.jst.ws.axis.consumption.ui;bundle-version="[1.0.101,1.1.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.jem.workbench;bundle-version="[1.2.0,1.3.0)",
  org.eclipse.wst.command.env.core;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.wst.command.env;bundle-version="[1.0.101,1.1.0)",
diff --git a/bundles/org.eclipse.jst.ws.axis.creation.ui/plugin.xml b/bundles/org.eclipse.jst.ws.axis.creation.ui/plugin.xml
index 77aef4e..a9e6078 100644
--- a/bundles/org.eclipse.jst.ws.axis.creation.ui/plugin.xml
+++ b/bundles/org.eclipse.jst.ws.axis.creation.ui/plugin.xml
@@ -106,53 +106,53 @@
               transform="org.eclipse.jst.ws.internal.common.String2SelectionTransformer"/>
         <map
               key="JavaOutput"
-              operation="org.eclipse.jst.ws.internal.axis.consumption.core.command.Java2WSDLCommand"
+              operation="org.eclipse.jst.ws.internal.axis.creation.ui.command.BUCodeGenOperation"
               property="JavaWSDLParam"
               transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>
         <map
               key="Mappings"
-              operation="org.eclipse.jst.ws.internal.axis.consumption.core.command.Java2WSDLCommand"
+              operation="org.eclipse.jst.ws.internal.axis.creation.ui.command.BUCodeGenOperation"
               property="JavaWSDLParam"
               transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>
         <map
               key="Methods"
-              operation="org.eclipse.jst.ws.internal.axis.consumption.core.command.Java2WSDLCommand"
+              operation="org.eclipse.jst.ws.internal.axis.creation.ui.command.BUCodeGenOperation"
               property="JavaWSDLParam"
               transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>
         <map
               key="Style"
-              operation="org.eclipse.jst.ws.internal.axis.consumption.core.command.Java2WSDLCommand"
+              operation="org.eclipse.jst.ws.internal.axis.creation.ui.command.BUCodeGenOperation"
               property="JavaWSDLParam"
               transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>
         <map
               key="Use"
-              operation="org.eclipse.jst.ws.internal.axis.consumption.core.command.Java2WSDLCommand"
+              operation="org.eclipse.jst.ws.internal.axis.creation.ui.command.BUCodeGenOperation"
               property="JavaWSDLParam"
               transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>   
        
         <map
               key="JavaOutput"
-              operation="org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand"
+              operation="org.eclipse.jst.ws.internal.axis.creation.ui.command.TDCodeGenOperation"
               property="JavaWSDLParam"
               transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>
         <map
               key="Mappings"
-              operation="org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand"
+              operation="org.eclipse.jst.ws.internal.axis.creation.ui.command.TDCodeGenOperation"
               property="JavaWSDLParam"
               transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>   
         <map
               key="Methods"
-              operation="org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand"
+              operation="org.eclipse.jst.ws.internal.axis.creation.ui.command.TDCodeGenOperation"
               property="JavaWSDLParam"
               transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>   
 		<map
               key="Style"
-              operation="org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand"
+              operation="org.eclipse.jst.ws.internal.axis.creation.ui.command.TDCodeGenOperation"
               property="JavaWSDLParam"
               transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>   
         <map
               key="Use"
-              operation="org.eclipse.jst.ws.internal.axis.consumption.core.command.WSDL2JavaCommand"
+              operation="org.eclipse.jst.ws.internal.axis.creation.ui.command.TDCodeGenOperation"
               property="JavaWSDLParam"
               transform="org.eclipse.jst.ws.internal.axis.consumption.core.common.JavaWSDLParamModifier"/>   
   </extension> 
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws.consumption.ui/META-INF/MANIFEST.MF
index 34d1a66..d392a58 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.consumption.ui; singleton:=true
-Bundle-Version: 1.0.104.qualifier
+Bundle-Version: 1.0.105.qualifier
 Bundle-Activator: org.eclipse.jst.ws.internal.consumption.ui.plugin.WebServiceConsumptionUIPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
@@ -40,16 +40,16 @@
  org.eclipse.jst.ws.consumption;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.jem;bundle-version="[1.2.0,1.3.0)",
  org.eclipse.jem.workbench;bundle-version="[1.2.0,1.3.0)",
- org.eclipse.emf.common;bundle-version="[2.2.0,2.4.0)",
- org.eclipse.emf.ecore;bundle-version="[2.2.0,2.4.0)",
+ org.eclipse.emf.common;bundle-version="[2.2.0,2.3.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.2.0,2.3.0)",
  org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.jdt.ui;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.4.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.wst.ws;bundle-version="[1.0.100,1.1.0)",
  org.eclipse.jem.workbench;bundle-version="[1.2.0,1.3.0)",
- org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,2.4.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,2.3.0)",
  org.eclipse.wst.server.core;bundle-version="[1.0.102,1.1.0)",
  org.eclipse.wst.server.ui;bundle-version="[1.0.102,1.1.0)",
  org.eclipse.wst.wsdl;bundle-version="[1.0.100,1.1.0)",
@@ -63,7 +63,7 @@
  org.eclipse.jst.j2ee.webservice;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.jst.j2ee.webservice.ui;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.wst.common.modulecore;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.ws.ui;bundle-version="[1.0.100,1.1.0)",
+ org.eclipse.wst.ws.ui;bundle-version="[1.0.103,1.1.0)",
  org.wsdl4j;bundle-version="[1.4.0,1.5.0)",
  org.eclipse.jem.util;bundle-version="[1.2.0,1.3.0)",
  org.eclipse.wst.wsdl.validation;bundle-version="[1.1.0,1.2.0)",
@@ -72,7 +72,7 @@
  org.eclipse.wst.common.project.facet.core;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.jst.server.core;bundle-version="[1.0.102,1.1.0)",
  org.eclipse.debug.core;bundle-version="[3.2.0,4.0.0)",
- com.ibm.icu;bundle-version="[3.4.4,4.0.0)",
+ com.ibm.icu;bundle-version="[3.4.4,3.5.0)",
  org.apache.xerces;bundle-version="[2.8.0,2.9.0)",
- org.eclipse.ui.forms;bundle-version="[3.2.0,4.0.0)"
+ org.eclipse.ui.forms;bundle-version="[3.2.0,3.3.0)"
 Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUI.properties b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUI.properties
index c2c1a27..1508ab9 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUI.properties
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/ConsumptionUI.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2004, 2006 IBM Corporation and others.
+# Copyright (c) 2004, 2007 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -25,6 +25,7 @@
 # 20060510   141115 rsinha@ca.ibm.com - Rupam Kuehner
 # 20060509   119296 pmoogk@ca.ibm.com - Peter Moogk
 # 20060602   145054 kathy@ca.ibm.com - Kathy Chan
+# 20070424   177360 pmoogk@ca.ibm.com - Peter Moogk
 ###############################################################################
 
 #
@@ -611,7 +612,7 @@
 LABEL_START_SERVER_TEXT2=Once the server is started the "next" button will be enabled.
 LABEL_START_SERVER_TEXT3=The "back" button can be used while the server is starting to
 LABEL_START_SERVER_TEXT4=change any previous settings in this wizard.
-LABEL_START_SERVER_BUTTON=Start server
+LABEL_START_SERVER_BUTTON=&Start server
 TOOLTIP_START_SERVER_BUTTON=Start the server
 TEXT_SERVER_STATUS=Currently the server is {0}.
 TEXT_SERVER_MSG=Server {0}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/common/ValidationUtils.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/common/ValidationUtils.java
index b38af5c..f9a39b3 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/common/ValidationUtils.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/common/ValidationUtils.java
@@ -556,11 +556,14 @@
     {
       org.eclipse.wst.common.project.facet.core.runtime.IRuntime fRuntime = (org.eclipse.wst.common.project.facet.core.runtime.IRuntime)itr.next();
       IRuntime sRuntime = FacetUtil.getRuntime(fRuntime);
-      IRuntimeType runtimeType = sRuntime.getRuntimeType();
-      if (runtimeType != null && runtimeTypeId.equals(runtimeType.getId()))
+      if (sRuntime != null)
       {
-        //found a match
-        return true;
+	      IRuntimeType runtimeType = sRuntime.getRuntimeType();
+	      if (runtimeType != null && runtimeTypeId.equals(runtimeType.getId()))
+	      {
+	        //found a match
+	        return true;
+	      }
       }
     }
     
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientDevelopCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientDevelopCommand.java
index 8c03870..06fb55a 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientDevelopCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/extension/PreClientDevelopCommand.java
@@ -14,6 +14,7 @@
  * 20060516   126965 kathy@ca.ibm.com - Kathy Chan
  * 20060529   141422 kathy@ca.ibm.com - Kathy Chan
  * 20070123   167487 makandre@ca.ibm.com - Andrew Mak
+ * 20070403   173654 kathy@ca.ibm.com - Kathy Chan
  *******************************************************************************/
 
 package org.eclipse.jst.ws.internal.consumption.ui.extension;
@@ -25,6 +26,7 @@
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jst.ws.internal.consumption.command.common.CreateFacetedProjectCommand;
+import org.eclipse.jst.ws.internal.consumption.common.FacetUtils;
 import org.eclipse.jst.ws.internal.consumption.common.RequiredFacetVersion;
 import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
@@ -111,12 +113,12 @@
 
 		  // Create the client module if needed.
 		  IProject project = ProjectUtilities.getProject(project_);
+		  RequiredFacetVersion[] rfv = WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(clientRuntimeId_).getRequiredFacetVersions();
 		  if (!project.exists())
 		  {
 			  boolean matches = WebServiceRuntimeExtensionUtils2.doesClientRuntimeSupportTemplate(clientRuntimeId_, moduleType_);
 			  if (matches)
 			  {  
-				  RequiredFacetVersion[] rfv = WebServiceRuntimeExtensionUtils2.getClientRuntimeDescriptorById(clientRuntimeId_).getRequiredFacetVersions();
 				  CreateFacetedProjectCommand command = new CreateFacetedProjectCommand();
 				  command.setProjectName(project_);
 				  command.setTemplateId(moduleType_);
@@ -130,6 +132,16 @@
 					  return status;
 				  }        
 			  }            
+		  } else {
+				// add facets required by Web service runtime
+		        if (rfv.length != 0) {
+		        	status = FacetUtils.addRequiredFacetsToProject(project, rfv, monitor);
+		        	if (status.getSeverity() == Status.ERROR)
+		        	{
+		        		environment.getStatusHandler().reportError( status );
+		        		return status;
+		        	}      
+		        }
 		  }        
 	  }
     return status;
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionTreeWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionTreeWidget.java
index c92cfef..28cc163 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionTreeWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionTreeWidget.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * Copyright (c) 2004, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -10,6 +10,7 @@
  * yyyymmdd bug      Email and other contact information
  * -------- -------- -----------------------------------------------------------
  * 20060418   136712 joan@ca.ibm.com - Joan Haggarty
+ * 20070131   168786 makandre@ca.ibm.com - Andrew Mak, wsdl url on web service wizard page 1 is not reflected in browse dialog
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets;
 
@@ -128,8 +129,10 @@
   public void setWebServiceURI(String wsURI)
   {
   	webServiceURI = wsURI;
-  	treeContentProvider.setWebServiceURI(webServiceURI);
-    refreshTreeViewer();
+  	if (!tree_.isDisposed()) {
+  		treeContentProvider.setWebServiceURI(webServiceURI);
+  		refreshTreeViewer();
+  	}
   }
 
   public void refreshTreeViewer()
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionWidgetDefaultingCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionWidgetDefaultingCommand.java
index 127c509..fa822ce 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionWidgetDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/WSDLSelectionWidgetDefaultingCommand.java
@@ -4,12 +4,14 @@
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  * IBM Corporation - initial API and implementation
  * yyyymmdd bug      Email and other contact information
  * -------- -------- -----------------------------------------------------------
  * 20070116   159618 makandre@ca.ibm.com - Andrew Mak, Project and EAR not defaulted properly when wizard launched from JSR-109 Web services branch in J2EE Project Explorer
+ * 20070327   172339 kathy@ca.ibm.com - Kathy Chan
+ * 20070410   181827 kathy@ca.ibm.com - Kathy Chan
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets;
 
@@ -30,13 +32,14 @@
 import org.eclipse.jst.ws.internal.common.UniversalPathTransformer;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
 import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.ws.internal.ui.utils.AdapterUtils;
 import org.eclipse.wst.wsdl.internal.impl.ServiceImpl;
 import org.eclipse.wst.wsdl.util.WSDLResourceImpl;
 
 public class WSDLSelectionWidgetDefaultingCommand extends AbstractDataModelOperation
 {
   private IStructuredSelection selection_;
-  private UniversalPathTransformer transformer_ = new UniversalPathTransformer();  
+  private UniversalPathTransformer transformer_ = new UniversalPathTransformer(); 
   
   public String getWebServiceURI()
   {
@@ -53,24 +56,27 @@
   	    {
   	      uri = ifile.getFullPath().toString();
   	    }
-  	  }
-  	  if (firstSel instanceof ServiceImpl)
+  	  } else if (firstSel instanceof ServiceImpl)
       {
         ServiceImpl serviceImpl = (ServiceImpl)firstSel;
         uri = J2EEActionAdapterFactory.getWSDLURI(serviceImpl);
-      }
-  	  if (firstSel instanceof ServiceRef)
+      } else if (firstSel instanceof ServiceRef)
       {
   	    ServiceRef serviceRef = (ServiceRef)firstSel;
         uri = J2EEActionAdapterFactory.getWSDLURI(serviceRef);
-      }
-  	  if (firstSel instanceof WSDLResourceImpl)
+      } else if (firstSel instanceof WSDLResourceImpl)
   	  {
   	    WSDLResourceImpl wsdlRI = (WSDLResourceImpl)firstSel;
   	    uri = J2EEActionAdapterFactory.getWSDLURI(wsdlRI);
-  	  }
-  	  if (firstSel instanceof String)
+  	  } else if (firstSel instanceof String)
+  	  {
   	    uri = (String)firstSel;
+  	  } else {
+  		String adaptedUri = AdapterUtils.getAdaptedWSDL(firstSel);
+  		if (adaptedUri != null) {
+  			uri = adaptedUri;
+  		}
+  	  }
   	  
   	  uri = transformer_.toPath(uri);
   	}
@@ -174,6 +180,7 @@
 
   public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
   {
-    return Status.OK_STATUS;
-  }  
-}
\ No newline at end of file
+	  return Status.OK_STATUS;
+  }    
+     
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionTransformer.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionTransformer.java
index 2630fdc..b22d1ee 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionTransformer.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionTransformer.java
@@ -4,12 +4,13 @@
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  * IBM Corporation - initial API and implementation
  * yyyymmdd bug      Email and other contact information
  * -------- -------- -----------------------------------------------------------
  * 20070116   159618 makandre@ca.ibm.com - Andrew Mak, Project and EAR not defaulted properly when wizard launched from JSR-109 Web services branch in J2EE Project Explorer
+ * 20070327   172339 kathy@ca.ibm.com - Kathy Chan
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.object;
 
@@ -29,6 +30,7 @@
 import org.eclipse.jst.ws.internal.common.J2EEActionAdapterFactory;
 import org.eclipse.jst.ws.internal.common.J2EEUtils;
 import org.eclipse.wst.command.internal.env.core.data.Transformer;
+import org.eclipse.wst.ws.internal.ui.utils.AdapterUtils;
 import org.eclipse.wst.wsdl.internal.impl.ServiceImpl;
 import org.eclipse.wst.wsdl.util.WSDLResourceImpl;
 
@@ -76,6 +78,11 @@
       else if (sel instanceof BeanLink)
       {
         return new StructuredSelection(getWSDLURI((BeanLink) sel));
+      } else {
+    	  String wsdlURI = AdapterUtils.getAdaptedWSDL(sel);
+    	  if (wsdlURI != null) {
+    		  return new StructuredSelection(wsdlURI);
+    	  }
       }
     }
     return value;
@@ -108,4 +115,4 @@
 		  return getWSDLURI((ServiceImplBean) eObject);
 	  return "";
   }
-}
\ No newline at end of file
+}
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWidget.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWidget.java
index 32485ff..24b3a30 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWidget.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/object/WSDLSelectionWidget.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * Copyright (c) 2004, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -21,8 +21,8 @@
  * 20060803   152486 makandre@ca.ibm.com - Andrew Mak, Typing WSDL in Service definition field is very slow
  * 20060825   135570 makandre@ca.ibm.com - Andrew Mak, Service implementation URL not displayed properly on first page
  * 20060831   155883 makandre@ca.ibm.com - Andrew Mak, service impl field doesn't work after switching from BU to TD
- * 20061106   142500 david.schneider@unisys.com - David Schneider, WTP properties pages fonts don't follow Eclipse preferences
  * 20061211   161589 makandre@ca.ibm.com - Andrew Mak, NPE in service generation after opening and cancelling from browse dialog
+ * 20070131   168786 makandre@ca.ibm.com - Andrew Mak, wsdl url on web service wizard page 1 is not reflected in browse dialog
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.object;
 
@@ -41,7 +41,6 @@
 import org.eclipse.core.runtime.jobs.IJobManager;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jst.j2ee.webservice.wsclient.ServiceRef;
@@ -237,7 +236,6 @@
     		});
     
     setMessageSummary();
-    Dialog.applyDialogFont(parent);    
     return this;
   }
   
@@ -708,6 +706,8 @@
 		
 	    // prime widget based on the string
 	    wsdlURI_ = wsURI;
+	    if (tree != null)
+	      tree.setWebServiceURI(wsURI);
 	    
 	    WebServiceEntity entity = webServicesParser.getWebServiceEntityByURI(wsURI);
 	    if (entity != null && entity.getType() == WebServiceEntity.TYPE_WSDL)
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/runtime/ClientRuntimeSelectionWidgetDefaultingCommand.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/runtime/ClientRuntimeSelectionWidgetDefaultingCommand.java
index 7c62335..e71ed1e 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/runtime/ClientRuntimeSelectionWidgetDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/widgets/runtime/ClientRuntimeSelectionWidgetDefaultingCommand.java
@@ -22,7 +22,7 @@
  * 20060523   133714 joan@ca.ibm.com - Joan Haggarty
  * 20060525   143843 joan@ca.ibm.com - Joan Haggarty
  * 20060905   156230 kathy@ca.ibm.com - Kathy Chan, Handling projects with no target runtime
- * 20070119   159458 mahutch@ca.ibm.com - Mark Hutchinson
+ * 20070326   159458 mahutch@ca.ibm.com - Mark Hutchinson
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.ui.widgets.runtime;
 
@@ -365,7 +365,7 @@
     IProject clientProject = ProjectUtilities.getProject(clientProjectName_);
     IServer[] configuredServers = ServerUtil.getServersByModule(ServerUtils.getModule(clientProject), null);
     
-    if (configuredServers!=null && configuredServers.length>0)
+    if (configuredServers!=null && configuredServers.length>0 && configuredServers[0].getServerType() != null)
     {
       clientIds_.setServerId(configuredServers[0].getServerType().getId());
       clientIds_.setServerInstanceId(configuredServers[0].getId());
@@ -376,7 +376,7 @@
     if (clientProject.exists())
     {
       IServer server = getServerFromProject(clientProjectName_, clientFacetMatcher_);
-      if (server != null)
+      if (server != null && server.getServerType() != null)
       {
         clientIds_.setServerId(server.getServerType().getId());
         clientIds_.setServerInstanceId(server.getId());
@@ -396,7 +396,7 @@
     //Haven't picked a server/server type on the basis of the project. Pick a server/server type
     //that is compatible with the clientRuntimeId.
     IServer server = getServerFromClientRuntimeId();
-    if (server!=null)
+    if (server!=null && server.getServerType() != null)
     {
       clientIds_.setServerId(server.getServerType().getId());
       clientIds_.setServerInstanceId(server.getId());
@@ -435,25 +435,31 @@
         //If a server of the preferred server type is present, check that one first
         for (int j = 0; j < servers.length; j++)
         {
-          String serverFactoryId = servers[j].getServerType().getId();
-          if (serverFactoryId == preferredServerFactoryId)
+          if (servers[j] != null && servers[j].getServerType() != null)
           {
-            if (WebServiceRuntimeExtensionUtils2.doesClientRuntimeSupportServer(clientRuntimeId_, serverFactoryId))
-            {
-              return servers[j];
-            }
-          }                
+	          String serverFactoryId = servers[j].getServerType().getId();
+	          if (serverFactoryId == preferredServerFactoryId)
+	          {
+	            if (WebServiceRuntimeExtensionUtils2.doesClientRuntimeSupportServer(clientRuntimeId_, serverFactoryId))
+	            {
+	              return servers[j];
+	            }
+	          }
+          }
         }
         
         //A server of the preferred server type could not be found or did not match. Check all the existing servers.    
     	
       for (int i = 0; i < servers.length; i++)
       {
-        String serverFactoryId = servers[i].getServerType().getId();
-        if (WebServiceRuntimeExtensionUtils2.doesClientRuntimeSupportServer(clientRuntimeId_, serverFactoryId))
-        {
-          return servers[i];
-        }
+    	if (servers[i] != null && servers[i].getServerType() != null)
+    	{
+	        String serverFactoryId = servers[i].getServerType().getId();
+	        if (WebServiceRuntimeExtensionUtils2.doesClientRuntimeSupportServer(clientRuntimeId_, serverFactoryId))
+	        {
+	          return servers[i];
+	        }
+	      }
       }
     }
     return null;    
@@ -520,14 +526,15 @@
         for (int i = 0; i < servers.length; i++)
         {
           IServer thisServer = servers[i];
-          if (thisServer.getRuntime().getId().equals(sRuntime.getId()))
+          IRuntime thisServerRuntime = thisServer.getRuntime();
+          if ( thisServerRuntime != null && sRuntime != null && thisServerRuntime.getId().equals(sRuntime.getId()))
           {
             if (firstMatchingServer==null)
             {
               firstMatchingServer = thisServer;
             }
               
-            if (thisServer.getServerType().getId().equals(preferredServerFactoryId))
+            if (thisServer != null && thisServer.getServerType() != null && thisServer.getServerType().getId().equals(preferredServerFactoryId))
             {
         	  
               server = thisServer;
@@ -587,15 +594,16 @@
 	    for (int j=0; j<servers.length; j++)      
 	    {
 	      IServer thisServer = servers[j];
-	      if (thisServer.getServerType().getId().equals(preferredServerFactoryId))
+	      if (thisServer != null && thisServer.getServerType() != null && thisServer.getRuntime() != null && thisServer.getServerType().getId().equals(preferredServerFactoryId))
 	      {
+	    	IRuntime thisServerRuntime = thisServer.getRuntime();
 	        //Check to see if it matches any of the runtimes.
 	        Iterator runtimesItr = runtimes.iterator();
 	        while(runtimesItr.hasNext())
 	        {
 	          org.eclipse.wst.common.project.facet.core.runtime.IRuntime fRuntime = (org.eclipse.wst.common.project.facet.core.runtime.IRuntime)runtimesItr.next();
 	          IRuntime sRuntime = FacetUtil.getRuntime(fRuntime);
-	          if (thisServer.getRuntime().getId().equals(sRuntime.getId()))
+	          if (sRuntime != null && thisServerRuntime.getId().equals(sRuntime.getId()))
 	          {
 	            server = thisServer;
 	          }          
@@ -613,7 +621,8 @@
 	        for (int i = 0; i < servers.length; i++)
 	        {
 	          IServer thisServer = servers[i];
-	          if (thisServer.getRuntime().getId().equals(sRuntime.getId()))
+	          IRuntime thisServerRuntime = thisServer.getRuntime();
+	          if (thisServerRuntime != null && sRuntime != null && thisServerRuntime.getId().equals(sRuntime.getId()))
 	          {
 	            server = thisServer;
 	            break outer;
@@ -658,30 +667,34 @@
 	    {
 	      //Get a server type that has the same runtime type.
 	      IRuntime sRuntime = FacetUtil.getRuntime(fRuntime); 
-	      IRuntimeType sRuntimeType = sRuntime.getRuntimeType();
-	      IServerType firstMatchingServerType = null;
-	      for (int i=0; i<serverTypes.length; i++)
+	      if (sRuntime != null)
 	      {
-	        IServerType thisServerType = serverTypes[i];
-	        if (sRuntimeType != null && thisServerType.getRuntimeType().getId().equals(sRuntimeType.getId()))
-	        {
-	          if (firstMatchingServerType == null)
-	          {
-	            firstMatchingServerType = thisServerType;
-	          }
-	          if (thisServerType.getId().equals(preferredServerFactoryId))
-	          {
-	            serverType = thisServerType;
-	            break;
-	          }
-	        }
-	      }
-	      
-	      //If the preferred server type was not found but
-	      //there was a server type that matched, return that one.        
-	      if (serverType == null && firstMatchingServerType != null)
-	      {        
-	        serverType = firstMatchingServerType;
+		      IRuntimeType sRuntimeType = sRuntime.getRuntimeType();
+		      IServerType firstMatchingServerType = null;
+		      for (int i=0; i<serverTypes.length; i++)
+		      {
+		        IServerType thisServerType = serverTypes[i];
+		        IRuntimeType thisServerRuntimeType = thisServerType.getRuntimeType();
+		        if (sRuntimeType != null && thisServerRuntimeType != null && thisServerRuntimeType.getId().equals(sRuntimeType.getId()))
+		        {
+		          if (firstMatchingServerType == null)
+		          {
+		            firstMatchingServerType = thisServerType;
+		          }
+		          if (thisServerType.getId().equals(preferredServerFactoryId))
+		          {
+		            serverType = thisServerType;
+		            break;
+		          }
+		        }     
+		      }
+		      
+		      //If the preferred server type was not found but
+		      //there was a server type that matched, return that one.        
+		      if (serverType == null && firstMatchingServerType != null)
+		      {        
+		        serverType = firstMatchingServerType;
+		      }
 	      }
 	    }
 
@@ -727,7 +740,8 @@
 	    for (int j=0; j<serverTypes.length; j++)      
 	    {
 	      IServerType thisServerType = serverTypes[j];
-	      if (thisServerType.getId().equals(preferredServerFactoryId))
+	      IRuntimeType thisServerTypeRuntimeType = thisServerType.getRuntimeType();
+	      if (thisServerTypeRuntimeType != null && thisServerType.getId().equals(preferredServerFactoryId))
 	      {
 	        //Check to see if it matches any of the runtimes.
 	        Iterator runtimesItr = runtimes.iterator();
@@ -735,11 +749,14 @@
 	        {
 	          org.eclipse.wst.common.project.facet.core.runtime.IRuntime fRuntime = (org.eclipse.wst.common.project.facet.core.runtime.IRuntime)runtimesItr.next();
 	          IRuntime sRuntime = FacetUtil.getRuntime(fRuntime);
-	          IRuntimeType sRuntimeType = sRuntime.getRuntimeType();
-	          if (sRuntimeType != null && thisServerType.getRuntimeType().getId().equals(sRuntimeType.getId()))
+	          if (sRuntime != null)
 	          {
-	            serverType = thisServerType;
-	          }          
+	        	  IRuntimeType sRuntimeType = sRuntime.getRuntimeType();
+		          if (sRuntimeType != null && thisServerTypeRuntimeType.getId().equals(sRuntimeType.getId()))
+		          {
+		            serverType = thisServerType;
+		          }          
+	          }
 	        }
 	      }            
 	    }
@@ -752,15 +769,22 @@
 	        org.eclipse.wst.common.project.facet.core.runtime.IRuntime fRuntime = (org.eclipse.wst.common.project.facet.core.runtime.IRuntime) itr
 	            .next();
 	        IRuntime sRuntime = FacetUtil.getRuntime(fRuntime);
-	        IRuntimeType sRuntimeType = sRuntime.getRuntimeType();
-	        for (int i = 0; i < serverTypes.length; i++)
+	        if (sRuntime != null)
 	        {
-	          IServerType thisServerType = serverTypes[i];
-	          if (sRuntimeType != null && thisServerType.getRuntimeType().getId().equals(sRuntimeType.getId()))
-	          {
-	            serverType = thisServerType;
-	            break outer;
-	          }
+		        IRuntimeType sRuntimeType = sRuntime.getRuntimeType();
+		        for (int i = 0; i < serverTypes.length; i++)
+		        {
+		          IServerType thisServerType = serverTypes[i];
+		          if (thisServerType != null)
+		          {
+			          IRuntimeType thisServerTypeRuntimeType = thisServerType.getRuntimeType();
+			          if (sRuntimeType != null && thisServerTypeRuntimeType != null && thisServerTypeRuntimeType.getId().equals(sRuntimeType.getId()))
+			          {
+			            serverType = thisServerType;
+			            break outer;
+			          }
+		          }
+		        }
 	        }
 	      }
 	    }
diff --git a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/TypeSelectionFilter2.java b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/TypeSelectionFilter2.java
index f362fd2..cd10cfe 100644
--- a/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/TypeSelectionFilter2.java
+++ b/bundles/org.eclipse.jst.ws.consumption.ui/src/org/eclipse/jst/ws/internal/consumption/ui/wizard/TypeSelectionFilter2.java
@@ -1,15 +1,16 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  * IBM Corporation - initial API and implementation
  * yyyymmdd bug      Email and other contact information
  * -------- -------- -----------------------------------------------------------
  * 20060606   105045 mahutch@ca.ibm.com - Mark Hutchinson          
+ * 20070328   172339 kathy@ca.ibm.com - Kathy Chan
  *******************************************************************************/
 
 package org.eclipse.jst.ws.internal.consumption.ui.wizard;
@@ -20,6 +21,8 @@
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jst.j2ee.webservice.wsdd.BeanLink;
+import org.eclipse.jst.j2ee.webservice.wsdd.ServiceImplBean;
 import org.eclipse.jst.ws.internal.common.ResourceUtils;
 import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceImpl;
 import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
@@ -98,6 +101,15 @@
               
             }
           }
+          
+          //TODO: Bug 179751 - Need to make checking for types recognized as bottom-up to be more extensible         
+          
+          if (supportedTypes.isEmpty()) {
+        	  if (initialObject instanceof BeanLink || initialObject instanceof ServiceImplBean) {
+        		  supportedTypes.add(wst);
+        	  }
+          }
+          // end of TODO for bug 179751
         }
       }
       
diff --git a/bundles/org.eclipse.jst.ws.consumption/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws.consumption/META-INF/MANIFEST.MF
index e779070..02af98d 100644
--- a/bundles/org.eclipse.jst.ws.consumption/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.consumption/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.consumption; singleton:=true
-Bundle-Version: 1.0.102.qualifier
+Bundle-Version: 1.0.104.qualifier
 Bundle-ClassPath: wsc.jar,
  webserviceutils.jar
 Bundle-Activator: org.eclipse.jst.ws.internal.consumption.plugin.WebServiceConsumptionPlugin
@@ -27,12 +27,12 @@
  org.eclipse.jst.ws.util
 Require-Bundle: org.eclipse.jem;bundle-version="[1.2.0,1.3.0)",
  org.eclipse.jem.workbench;bundle-version="[1.2.0,1.3.0)",
- org.eclipse.emf.common;bundle-version="[2.2.0,2.4.0)",
- org.eclipse.emf.ecore;bundle-version="[2.2.0,2.4.0)",
+ org.eclipse.emf.common;bundle-version="[2.2.0,2.3.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.2.0,2.3.0)",
  org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.4.0)",
- org.eclipse.xsd;bundle-version="[2.2.0,2.4.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.xsd;bundle-version="[2.2.0,2.3.0)",
  org.eclipse.debug.core;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.jst.ws;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.jdt.launching;bundle-version="[3.2.0,3.3.0)",
@@ -55,6 +55,6 @@
  org.eclipse.wst.common.environment;bundle-version="[1.0.100,1.1.0)",
  org.eclipse.wst.common.project.facet.core;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.jst.server.core;bundle-version="[1.0.102,1.1.0)",
- com.ibm.icu;bundle-version="[3.4.4,4.0.0)",
+ com.ibm.icu;bundle-version="[3.4.4,3.5.0)",
  org.eclipse.ui;bundle-version="[3.2.0,4.0.0)"
 Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofTypeVisitorAction.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofTypeVisitorAction.java
index 88aa459..ff98fbe 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofTypeVisitorAction.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/codegen/javamofvisitoractions/JavaMofTypeVisitorAction.java
@@ -1,23 +1,32 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *     IBM Corporation - initial API and implementation
+ * IBM Corporation - initial API and implementation
+ * yyyymmdd bug      Email and other contact information
+ * -------- -------- -----------------------------------------------------------
+ * 20070410   180952 makandre@ca.ibm.com - Andrew Mak, Sample JSP generator chokes on interfaces and abstract classes
  *******************************************************************************/
 
 package org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitoractions;
 
+import java.util.Iterator;
+import java.util.List;
+
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jem.java.JavaClass;
 import org.eclipse.jem.java.JavaHelpers;
+import org.eclipse.jem.java.JavaVisibilityKind;
+import org.eclipse.jem.java.Method;
 import org.eclipse.jst.ws.internal.consumption.ConsumptionMessages;
 import org.eclipse.jst.ws.internal.consumption.codegen.javamofvisitors.JavaMofBeanVisitor;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.BeanModelElementsFactory;
+import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.TypeElement;
 import org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel.TypeFactory;
 import org.eclipse.wst.command.internal.env.core.common.StatusUtils;
 import org.eclipse.wst.common.environment.Choice;
@@ -83,6 +92,13 @@
       {
 	      BeanModelElementsFactory.getBeanModelElement(typeNavigator,fParentElement);
 	    }
+	    else if (javaClass != null && !getReturnParam() &&
+				// the following cases cannot be instantiated for input
+				(javaClass.isInterface() || javaClass.isAbstract() || !hasDefaultConstructor(javaClass))) {
+	    	
+	    	Element element = BeanModelElementsFactory.getBeanModelElement(typeNavigator,fParentElement);
+	    	element.setPropertyAsObject(TypeElement.NON_INSTANTIABLE, Boolean.TRUE);
+	    }
 	    else{
 	      JavaMofBeanVisitorAction beanVisitorAction = new JavaMofBeanVisitorAction(fParentElement,clientProject, env_);
 	      beanVisitorAction.setStatusMonitor(getStatusMonitor());
@@ -111,4 +127,30 @@
      //
      return status;
    }
+
+  /**
+   * Determine if the given javaClass has a default constructor.
+   * @param javaClass The java class
+   * @return true if javaClass has a default constructor, false otherwise
+   */
+  private boolean hasDefaultConstructor(JavaClass javaClass) {
+	   
+	  List methods = javaClass.getMethods();
+	  Iterator iter = methods.iterator();
+	   
+	  boolean foundConstructor = false;
+	   
+	  while (iter.hasNext()) {
+		  Method method = (Method) iter.next();
+		   
+		  if (method.getName().equals(javaClass.getName())) {
+			  if (method.listParametersWithoutReturn().length == 0)
+				  return method.getJavaVisibility().getValue() == JavaVisibilityKind.PUBLIC;
+			  foundConstructor = true;
+		  }
+	  }
+	   
+	  // if no constructor is found at this point, a default one is implicitly provided
+	  return !foundConstructor;
+  }
 }
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CopyWSDLTreeCommand.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CopyWSDLTreeCommand.java
index 03b9479..d75e44d 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CopyWSDLTreeCommand.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/command/common/CopyWSDLTreeCommand.java
@@ -10,6 +10,8 @@
  * yyyymmdd bug      Email and other contact information
  * -------- -------- -----------------------------------------------------------
  * 20070112   165721 makandre@ca.ibm.com - Andrew Mak, WSDL import cannot use relative import with to parent directories
+ * 20070308   176649 makandre@ca.ibm.com - Andrew Mak, CopyWSDLTreeCommand does not handle "\" correctly in an absolute wsdl URL
+ * 20070326   179337 makandre@ca.ibm.com - Andrew Mak, Regen web service skeleton re-copies wsdl and xsd onto themselves
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.command.common;
 
@@ -134,7 +136,13 @@
   					if (definition == def)
   						wsdlRelPath = relPath.toString();
 
-  					writeXMLObj(environment, baseDestinationURI, relPath.toString(), definition);
+  					String destURI = writeXMLObj(environment, baseDestinationURI, relPath.toString(), definition);
+  					
+  					// for the starting wsdl, if the the source path and destination path are the same,
+  					// we do not need to copy the rest of the files onto themselves (bug 179337)
+  					if (definition == def && wsdlURI != null &&
+  						normalize(wsdlURI).equals(normalize(destURI)))
+  						return;
   				}
   				else
   					writeXMLObj(environment, baseDestinationURI, relPath.toString(), (XSDSchema) info.content);
@@ -189,8 +197,8 @@
     }
   }    
   
-  // write a wsdl file
-  private void writeXMLObj(IEnvironment env, String destURI, String destLocalname, Definition definition) 
+  // write a wsdl file, returns the uri of the file written.
+  private String writeXMLObj(IEnvironment env, String destURI, String destLocalname, Definition definition) 
 	throws WSDLException, IOException, URIException {
 	
 	StringBuffer destinationFileURI = new StringBuffer(addTrailingSeparator(destURI));
@@ -201,10 +209,12 @@
     OutputStream os = env.getURIFactory().newURI(destinationFileURI.toString()).getOutputStream();
     wsdlWriter.writeWSDL(definition, os);
     os.close();
+    
+    return destinationFileURI.toString();
   }
   
-  // write an xsd file
-  private void writeXMLObj(IEnvironment env, String destURI, String destLocalname, XSDSchema xsdSchema) 
+  // write an xsd file, returns the uri of the file written.
+  private String writeXMLObj(IEnvironment env, String destURI, String destLocalname, XSDSchema xsdSchema) 
 	throws TransformerConfigurationException, URIException, TransformerException, IOException {
 		
 	StringBuffer destinationFileURI = new StringBuffer(addTrailingSeparator(destURI));
@@ -219,6 +229,8 @@
 	OutputStream os = env.getURIFactory().newURI(destinationFileURI.toString()).getOutputStream();
 	serializer.transform(domSource, new StreamResult(os));
 	os.close();
+	
+	return destinationFileURI.toString();
   }  
   
   private void copyWSDL(IEnvironment env, String uri, String destURI, String destLocalname) throws WSDLException, IOException, WWWAuthenticationException, TransformerException, TransformerConfigurationException, URIException
@@ -443,6 +455,8 @@
 	  
   public void setWsdlURI(String wsdlURI)
   {
+    if (wsdlURI != null)
+        wsdlURI = wsdlURI.replace('\\', '/');
     this.wsdlURI = wsdlURI;
   }
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/TypeElement.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/TypeElement.java
index f1592f6..af80d7f 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/TypeElement.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/datamodel/beanmodel/TypeElement.java
@@ -1,12 +1,15 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *     IBM Corporation - initial API and implementation
+ * IBM Corporation - initial API and implementation
+ * yyyymmdd bug      Email and other contact information
+ * -------- -------- -----------------------------------------------------------
+ * 20070410   180952 makandre@ca.ibm.com - Andrew Mak, Sample JSP generator chokes on interfaces and abstract classes
  *******************************************************************************/
 
 package org.eclipse.jst.ws.internal.consumption.datamodel.beanmodel;
@@ -24,7 +27,7 @@
 
   // Copyright
   public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
-
+  public static final String NON_INSTANTIABLE = "nonInstantiable";
 
   public static int BEAN = 0;
   public static int SIMPLE = 1;
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileTypeGenerator.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileTypeGenerator.java
index af2d94e..b03521e 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileTypeGenerator.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/InputFileTypeGenerator.java
@@ -10,6 +10,7 @@
  * yyyymmdd bug      Email and other contact information
  * -------- -------- -----------------------------------------------------------
  * 20060612   145433 gilberta@ca.ibm.com - Gilbert Andrews
+ * 20070410   180952 makandre@ca.ibm.com - Andrew Mak, Sample JSP generator chokes on interfaces and abstract classes 
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
 
@@ -162,6 +163,9 @@
   {
      TypeElement element = (TypeElement)object;
           
+     if (Boolean.TRUE.equals(element.getPropertyAsObject(TypeElement.NON_INSTANTIABLE)))
+	    return Status.OK_STATUS;
+     
      if (element instanceof SimpleElement) fIsSimple = true;
      else fIsSimple = false;
 
diff --git a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileTypeGenerator.java b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileTypeGenerator.java
index f78cd59..dea6887 100644
--- a/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileTypeGenerator.java
+++ b/bundles/org.eclipse.jst.ws.consumption/src/org/eclipse/jst/ws/internal/consumption/sampleapp/codegen/ResultFileTypeGenerator.java
@@ -1,12 +1,15 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *     IBM Corporation - initial API and implementation
+ * IBM Corporation - initial API and implementation
+ * yyyymmdd bug      Email and other contact information
+ * -------- -------- -----------------------------------------------------------
+ * 20070410   180952 makandre@ca.ibm.com - Andrew Mak, Sample JSP generator chokes on interfaces and abstract classes
  *******************************************************************************/
 
 package org.eclipse.jst.ws.internal.consumption.sampleapp.codegen;
@@ -69,34 +72,40 @@
        String typeName = typeElement.getName(); 
        fTypeIdName = idName(typeName);
               
-       AttributeVisitor attributeVisitor = new AttributeVisitor();
-       ResultFileAttributeGenerator resultFileAttributeGenerator = new ResultFileAttributeGenerator(fbuffer);
-       resultFileAttributeGenerator.setNumberFactory(getNumberFactory());
-       attributeVisitor.run(typeElement,resultFileAttributeGenerator);
-       setNumberFactory(resultFileAttributeGenerator.getNumberFactory());
-       fbuffer = resultFileAttributeGenerator.getStringBuffer();
-
-       FieldVisitor fieldVisitor = new FieldVisitor();
-       ResultFileAttributeGenerator resultFileAttributeGenerator2 = new ResultFileAttributeGenerator(fbuffer);
-       resultFileAttributeGenerator2.setNumberFactory(getNumberFactory());
-       fieldVisitor.run(typeElement,resultFileAttributeGenerator2);
-       setNumberFactory(resultFileAttributeGenerator2.getNumberFactory());
-       fbuffer = resultFileAttributeGenerator2.getStringBuffer();
+       if (!Boolean.TRUE.equals(typeElement.getPropertyAsObject(TypeElement.NON_INSTANTIABLE))) {
+       
+	       AttributeVisitor attributeVisitor = new AttributeVisitor();
+	       ResultFileAttributeGenerator resultFileAttributeGenerator = new ResultFileAttributeGenerator(fbuffer);
+	       resultFileAttributeGenerator.setNumberFactory(getNumberFactory());
+	       attributeVisitor.run(typeElement,resultFileAttributeGenerator);
+	       setNumberFactory(resultFileAttributeGenerator.getNumberFactory());
+	       fbuffer = resultFileAttributeGenerator.getStringBuffer();
+	
+	       FieldVisitor fieldVisitor = new FieldVisitor();
+	       ResultFileAttributeGenerator resultFileAttributeGenerator2 = new ResultFileAttributeGenerator(fbuffer);
+	       resultFileAttributeGenerator2.setNumberFactory(getNumberFactory());
+	       fieldVisitor.run(typeElement,resultFileAttributeGenerator2);
+	       setNumberFactory(resultFileAttributeGenerator2.getNumberFactory());
+	       fbuffer = resultFileAttributeGenerator2.getStringBuffer();
 
       
-       fbuffer.append(Generator.DOUBLE_TAB + "%>" + StringUtils.NEWLINE);
-       fbuffer.append(Generator.DOUBLE_TAB + "<jsp:useBean id=\"" + fTypeIdName + "\" scope=\"session\" class=\"" + typeName + "\" />" + StringUtils.NEWLINE);
-       fbuffer.append(Generator.DOUBLE_TAB + "<%" + StringUtils.NEWLINE);
-         
-       Enumeration e = resultFileAttributeGenerator.getResidentVector().elements();
-       while(e.hasMoreElements()){
-          fbuffer.append(Generator.DOUBLE_TAB + fTypeIdName + "." + e.nextElement() + StringUtils.NEWLINE);
-       }
-
-       Enumeration e2 = resultFileAttributeGenerator2.getResidentVector().elements();
-       while(e2.hasMoreElements()){
-          fbuffer.append(Generator.DOUBLE_TAB + fTypeIdName + "." + e2.nextElement() + StringUtils.NEWLINE);
-       } 
+	       fbuffer.append(Generator.DOUBLE_TAB + "%>" + StringUtils.NEWLINE);
+	       fbuffer.append(Generator.DOUBLE_TAB + "<jsp:useBean id=\"" + fTypeIdName + "\" scope=\"session\" class=\"" + typeName + "\" />" + StringUtils.NEWLINE);
+	       fbuffer.append(Generator.DOUBLE_TAB + "<%" + StringUtils.NEWLINE);
+	       
+	       Enumeration e = resultFileAttributeGenerator.getResidentVector().elements();
+	       while(e.hasMoreElements()){
+	          fbuffer.append(Generator.DOUBLE_TAB + fTypeIdName + "." + e.nextElement() + StringUtils.NEWLINE);
+	       }
+	
+	       Enumeration e2 = resultFileAttributeGenerator2.getResidentVector().elements();
+	       while(e2.hasMoreElements()){
+	          fbuffer.append(Generator.DOUBLE_TAB + fTypeIdName + "." + e2.nextElement() + StringUtils.NEWLINE);
+	       } 
+	   }
+       else
+    	   fbuffer.append(Generator.DOUBLE_TAB + typeName + " " + fTypeIdName + " = null;"+ StringUtils.NEWLINE);     
+       
        putResidentVector(fTypeIdName);
        //end of changes
      
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws.creation.ui/META-INF/MANIFEST.MF
index 5d93ba9..851a68f 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.creation.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.creation.ui; singleton:=true
-Bundle-Version: 1.0.103.qualifier
+Bundle-Version: 1.0.105.qualifier
 Bundle-Activator: org.eclipse.jst.ws.internal.creation.ui.plugin.WebServiceCreationUIPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
@@ -29,9 +29,9 @@
  org.eclipse.jst.ws.consumption.ui;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.4.0)",
- org.eclipse.emf.common;bundle-version="[2.2.0,2.4.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.emf.common;bundle-version="[2.2.0,2.3.0)",
  org.eclipse.jem.util;bundle-version="[1.2.0,1.3.0)",
  org.eclipse.jem.workbench;bundle-version="[1.2.0,1.3.0)",
  org.eclipse.wst.server.core;bundle-version="[1.0.102,1.1.0)",
@@ -43,6 +43,6 @@
  org.eclipse.wst.common.frameworks;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.wst.common.environment;bundle-version="[1.0.100,1.1.0)",
  org.eclipse.wst.common.project.facet.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.ui.forms;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.ws.ui;bundle-version="[1.0.101,1.1.0)"
+ org.eclipse.ui.forms;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.wst.ws.ui;bundle-version="[1.0.103,1.1.0)"
 Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceDevelopCommand.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceDevelopCommand.java
index 3cebfaf..e243a3d 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceDevelopCommand.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/extension/PreServiceDevelopCommand.java
@@ -14,6 +14,7 @@
  * 20060516   126965 kathy@ca.ibm.com - Kathy Chan
  * 20060529   141422 kathy@ca.ibm.com - Kathy Chan
  * 20070123   167487 makandre@ca.ibm.com - Andrew Mak
+ * 20070403   173654 kathy@ca.ibm.com - Kathy Chan
  *******************************************************************************/
 
 package org.eclipse.jst.ws.internal.creation.ui.extension;
@@ -25,6 +26,7 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.ws.internal.consumption.command.common.CreateFacetedProjectCommand;
+import org.eclipse.jst.ws.internal.consumption.common.FacetUtils;
 import org.eclipse.jst.ws.internal.consumption.common.RequiredFacetVersion;
 import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
@@ -127,12 +129,12 @@
 
 		  // Create the service module if needed.
 		  IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(project_);
+		  RequiredFacetVersion[] rfv = WebServiceRuntimeExtensionUtils2.getServiceRuntimeDescriptorById(serviceRuntimeId_).getRequiredFacetVersions();
 		  if (!project.exists())
 		  {
 			  boolean matches = WebServiceRuntimeExtensionUtils2.doesServiceRuntimeSupportTemplate(serviceRuntimeId_, moduleType_);
 			  if (matches)
-			  {
-				  RequiredFacetVersion[] rfv = WebServiceRuntimeExtensionUtils2.getServiceRuntimeDescriptorById(serviceRuntimeId_).getRequiredFacetVersions();
+			  {				  
 				  CreateFacetedProjectCommand command = new CreateFacetedProjectCommand();
 				  command.setProjectName(project_);
 				  command.setTemplateId(moduleType_);
@@ -146,7 +148,17 @@
 					  return status;
 				  }        
 			  }            
-		  }                    
+		  } else {
+			// add facets required by Web service runtime
+		        if (rfv.length != 0) {
+		        	status = FacetUtils.addRequiredFacetsToProject(project, rfv, monitor);
+		        	if (status.getSeverity() == Status.ERROR)
+		        	{
+		        		environment.getStatusHandler().reportError( status );
+		        		return status;
+		        	}      
+		        }
+		  }
 	  }
 	  return status;
 
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidgetDefaultingCommand.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidgetDefaultingCommand.java
index 2e9f622..a5861e7 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidgetDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/ServerWizardWidgetDefaultingCommand.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * Copyright (c) 2004, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -11,6 +11,7 @@
  * -------- -------- -----------------------------------------------------------
  * 20060524   142635 gilberta@ca.ibm.com - Gilbert Andrews
  * 20060529   141422 kathy@ca.ibm.com - Kathy Chan
+ * 20070327   172339 kathy@ca.ibm.com - Kathy Chan
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.creation.ui.widgets;
 
@@ -27,6 +28,8 @@
 import org.eclipse.jst.ws.internal.consumption.ui.wsrt.WebServiceRuntimeExtensionUtils2;
 import org.eclipse.jst.ws.internal.context.ScenarioContext;
 import org.eclipse.jst.ws.internal.data.TypeRuntimeServer;
+import org.eclipse.wst.ws.internal.ui.utils.AdapterUtils;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
 
 public class ServerWizardWidgetDefaultingCommand extends ClientWizardWidgetDefaultingCommand
 {    
@@ -56,7 +59,22 @@
     if (typeIds!=null && typeIds.length>0)
     {
       typeRuntimeServer_.setTypeId(typeIds[0]);
-    }
+  } else {
+	  if (initialSelection_ != null && !initialSelection_.isEmpty())
+	  { 
+		  Object initialObject = initialSelection_.getFirstElement(); 
+		  // initialObject would not be null since !initialSelection_.isEmpty()
+		  Object adaptedObject = AdapterUtils.getAdaptedObject(initialObject);
+		  if (adaptedObject != null) {
+			  StringBuffer entrybuff = new StringBuffer();
+			  entrybuff.append(String.valueOf(WebServiceScenario.TOPDOWN));
+			  entrybuff.append("/");
+			  entrybuff.append("org.eclipse.jst.ws.wsImpl.java");
+			  String entry = entrybuff.toString();     
+			  typeRuntimeServer_.setTypeId(entry);
+		  }
+	  }
+  }
     
     serviceGeneration_ = getScenarioContext().getGenerateWebService();
     	
diff --git a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/runtime/ServerRuntimeSelectionWidgetDefaultingCommand.java b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/runtime/ServerRuntimeSelectionWidgetDefaultingCommand.java
index 89cecb4..90a8f52 100644
--- a/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/runtime/ServerRuntimeSelectionWidgetDefaultingCommand.java
+++ b/bundles/org.eclipse.jst.ws.creation.ui/src/org/eclipse/jst/ws/internal/creation/ui/widgets/runtime/ServerRuntimeSelectionWidgetDefaultingCommand.java
@@ -19,6 +19,7 @@
  * 20060523   133714 joan@ca.ibm.com - Joan Haggarty
  * 20060525   143843 joan@ca.ibm.com - Joan Haggarty
  * 20060905   156230 kathy@ca.ibm.com - Kathy Chan, Handling projects with no target runtime
+ * 20070319	  159458 mahutch@ca.ibm.com - Mark Hutchinson added in some null checks
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.creation.ui.widgets.runtime;
 
@@ -363,24 +364,30 @@
       //If a server of the preferred server type is present, check that one first
       for (int j = 0; j < servers.length; j++)
       {
-        String serverFactoryId = servers[j].getServerType().getId();
-        if (serverFactoryId == preferredServerFactoryId)
-        {
-          if (WebServiceRuntimeExtensionUtils2.doesServiceRuntimeSupportServer(serviceRuntimeId_, serverFactoryId))
-          {
-            return servers[j];
-          }
-        }                
+    	if (servers[j] != null && servers[j].getServerType() != null)
+    	{
+	        String serverFactoryId = servers[j].getServerType().getId();
+	        if (serverFactoryId == preferredServerFactoryId)
+	        {
+	          if (WebServiceRuntimeExtensionUtils2.doesServiceRuntimeSupportServer(serviceRuntimeId_, serverFactoryId))
+	          {
+	            return servers[j];
+	          }
+	        }  
+    	}
       }
       
       //A server of the preferred server type could not be found or did not match. Check all the existing servers.    
       for (int i = 0; i < servers.length; i++)
       {
-        String serverFactoryId = servers[i].getServerType().getId();
-        if (WebServiceRuntimeExtensionUtils2.doesServiceRuntimeSupportServer(serviceRuntimeId_, serverFactoryId))
-        {
-          return servers[i];
-        }
+    	if (servers[i] != null && servers[i].getServerType() != null)
+    	{
+	        String serverFactoryId = servers[i].getServerType().getId();
+	        if (WebServiceRuntimeExtensionUtils2.doesServiceRuntimeSupportServer(serviceRuntimeId_, serverFactoryId))
+	        {
+	          return servers[i];
+	        }
+    	}
       }
     }
     return null;    
diff --git a/bundles/org.eclipse.jst.ws.uddiregistry/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws.uddiregistry/META-INF/MANIFEST.MF
index d9be0ac..e89356f 100644
--- a/bundles/org.eclipse.jst.ws.uddiregistry/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.uddiregistry/META-INF/MANIFEST.MF
@@ -12,11 +12,11 @@
  org.eclipse.jst.ws.internal.uddiregistry.widgets.binding;x-internal:=true,
  org.eclipse.jst.ws.internal.uddiregistry.wizard;x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="[3.2.0,3.4.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.jst.ws.ui;bundle-version="[1.0.100,1.1.0)",
  org.eclipse.wst.command.env.core;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.wst.command.env;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.wst.command.env.ui;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.wst.common.frameworks;bundle-version="[1.1.0,1.2.0)",
- com.ibm.icu;bundle-version="[3.4.4,4.0.0)"
+ com.ibm.icu;bundle-version="[3.4.4,3.5.0)"
 Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.jst.ws.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws.ui/META-INF/MANIFEST.MF
index e160d1b..50c84d7 100644
--- a/bundles/org.eclipse.jst.ws.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.ui; singleton:=true
-Bundle-Version: 1.0.101.qualifier
+Bundle-Version: 1.0.102.qualifier
 Bundle-Activator: org.eclipse.jst.ws.internal.ui.plugin.WebServiceUIPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
@@ -21,14 +21,15 @@
  org.eclipse.jdt.ui;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.4.0)",
- org.eclipse.emf.ecore;bundle-version="[2.2.0,2.4.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.2.0,2.3.0)",
  org.eclipse.jem.util;bundle-version="[1.2.0,1.3.0)",
  org.eclipse.wst.server.core;bundle-version="[1.0.102,1.1.0)",
  org.eclipse.jst.j2ee;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.ws.explorer;bundle-version="[1.0.101,1.1.0)",
+ org.eclipse.wst.ws.explorer;bundle-version="[1.0.105,1.1.0)",
  org.eclipse.jst.j2ee.core;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.wst.ws;bundle-version="[1.0.100,1.1.0)",
+ org.eclipse.wst.ws.ui;bundle-version="[1.0.103,1.1.0)",
  org.eclipse.wst.wsdl;bundle-version="[1.0.100,1.1.0)"
 Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/popup/PopupTestService.java b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/popup/PopupTestService.java
index 25a0d11..2348aef 100644
--- a/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/popup/PopupTestService.java
+++ b/bundles/org.eclipse.jst.ws.ui/src/org/eclipse/jst/ws/internal/ui/popup/PopupTestService.java
@@ -1,15 +1,16 @@
 /*******************************************************************************
- * Copyright (c) 2002, 2006 IBM Corporation and others.
+ * Copyright (c) 2002, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  * IBM Corporation - initial API and implementation
  * yyyymmdd bug      Email and other contact information
  * -------- -------- -----------------------------------------------------------
  * 20060803   152790 mahutch@ca.ibm.com - Mark Hutchinson (created class)
+ * 20070327   172339 kathy@ca.ibm.com - Kathy Chan
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.ui.popup;
 
@@ -23,6 +24,7 @@
 import org.eclipse.wst.ws.internal.explorer.WSExplorerLauncherCommand;
 import org.eclipse.wst.ws.internal.explorer.plugin.ExplorerPlugin;
 import org.eclipse.wst.ws.internal.explorer.popup.PopupTestWSDL;
+import org.eclipse.wst.ws.internal.ui.utils.AdapterUtils;
 
 
 public class PopupTestService extends PopupTestWSDL
@@ -51,6 +53,14 @@
         {
           ServiceRef serviceImpl = (ServiceRef)object;
           wsdlURL = J2EEActionAdapterFactory.getWSDLURI(serviceImpl);
+        } else if (object instanceof String) {
+        	wsdlURL = (String) object;
+        } else {
+        	// Object is not any types we recognized, wsdlURL is still null.
+          	// Try looking up an adapter for the object.
+        	// If found, update wsdlURL contains the adapted WSDL string.  
+        	// If not found, wsdlURL would still be null.
+        	wsdlURL = AdapterUtils.getAdaptedWSDL(object);
         }
         
         addLaunchOptions(launchOptions, wsdlURL, stateLocation, defaultFavoritesLocation);
diff --git a/bundles/org.eclipse.jst.ws/META-INF/MANIFEST.MF b/bundles/org.eclipse.jst.ws/META-INF/MANIFEST.MF
index 47e6254..e30d7d2 100644
--- a/bundles/org.eclipse.jst.ws/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.jst.ws/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws
-Bundle-Version: 1.0.103.qualifier
+Bundle-Version: 1.0.104.qualifier
 Bundle-Activator: org.eclipse.jst.ws.internal.plugin.WebServicePlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
@@ -24,11 +24,11 @@
  org.eclipse.jem.workbench;bundle-version="[1.2.0,1.3.0)",
  org.eclipse.jem;bundle-version="[1.2.0,1.3.0)",
  org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.emf.common;bundle-version="[2.2.0,2.4.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.4.0)",
+ org.eclipse.emf.common;bundle-version="[2.2.0,2.3.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.jface;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.emf.ecore;bundle-version="[2.2.0,2.4.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.2.0,2.3.0)",
  org.eclipse.jem.workbench;bundle-version="[1.2.0,1.3.0)",
  org.eclipse.wst.server.core;bundle-version="[1.0.102,1.1.0)",
  org.eclipse.wst.wsdl;bundle-version="[1.0.100,1.1.0)",
@@ -37,10 +37,10 @@
  org.eclipse.jst.j2ee;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.wst.common.modulecore;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.wst.common.frameworks;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,2.4.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,2.3.0)",
  org.eclipse.jem.util;bundle-version="[1.2.0,1.3.0)",
  org.eclipse.wst.common.environment;bundle-version="[1.0.100,1.1.0)",
  org.eclipse.wst.common.project.facet.core;bundle-version="[1.1.0,1.2.0)",
- com.ibm.icu;bundle-version="[3.4.4,4.0.0)",
+ com.ibm.icu;bundle-version="[3.4.4,3.5.0)",
  org.eclipse.wst.ws;bundle-version="[1.0.100,1.1.0)"
 Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/String2SelectionTransformer.java b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/String2SelectionTransformer.java
index f2351b0..06067de 100644
--- a/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/String2SelectionTransformer.java
+++ b/bundles/org.eclipse.jst.ws/src/org/eclipse/jst/ws/internal/common/String2SelectionTransformer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * Copyright (c) 2005, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -10,6 +10,7 @@
  * yyyymmdd bug      Email and other contact information
  * -------- -------- -----------------------------------------------------------
  * 20060222   128094 joan@ca.ibm.com - Joan Haggarty
+ * 20070305   175194 makandre@ca.ibm.com - Andrew Mak, Ant task InitialSelection only allows wsdl within the workspace
  *******************************************************************************/
 package org.eclipse.jst.ws.internal.common;
 
@@ -84,6 +85,10 @@
 			  selection = new StructuredSelection(resource);
 			}
 		}
+		else if (value instanceof String && value.toString().indexOf(":") != -1) {
+			// remote file
+			selection = new StructuredSelection(value);
+		}
 		else
 		{
 			// string doesn't return resource - error condition
diff --git a/bundles/org.eclipse.wst.command.env.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.command.env.core/META-INF/MANIFEST.MF
index de45aa2..caee3d8 100644
--- a/bundles/org.eclipse.wst.command.env.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.command.env.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.command.env.core
-Bundle-Version: 1.0.101.qualifier
+Bundle-Version: 1.0.103.qualifier
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
 Export-Package: org.eclipse.wst.command.internal.env.core;x-internal:=true,
@@ -14,6 +14,6 @@
  org.eclipse.wst.command.internal.env.core.selection;x-internal:=true,
  org.eclipse.wst.command.internal.env.core.uri;x-internal:=true
 Require-Bundle: org.eclipse.wst.common.frameworks;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.core.commands;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.commands;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.wst.common.environment;bundle-version="[1.0.100,1.1.0)"
diff --git a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/EnvironmentCore.properties b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/EnvironmentCore.properties
index 429c18e..c11d8c0 100644
--- a/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/EnvironmentCore.properties
+++ b/bundles/org.eclipse.wst.command.env.core/src/org/eclipse/wst/command/internal/env/core/EnvironmentCore.properties
@@ -1,18 +1,21 @@
 ###############################################################################
-# Copyright (c) 2001, 2004 IBM Corporation and others.
+# Copyright (c) 2001, 2007 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
 # http://www.eclipse.org/legal/epl-v10.html
 #
 # Contributors:
-#     IBM Corporation - initial API and implementation
+# IBM Corporation - initial API and implementation
+# yyyymmdd bug      Email and other contact information
+# -------- -------- -----------------------------------------------------------
+# 20070418   177005 pmoogk@ca.ibm.com - Peter Moogk
 ###############################################################################
 
 #
 # Common Messages
 #
-MSG_ERROR_UNEXPECTED_ERROR=IWAB0014E Unexpected exception occured.
+MSG_ERROR_UNEXPECTED_ERROR=IWAB0014E Unexpected exception occurred.
 
 TITLE_WARNING=Warning:
 TITLE_ERROR=Error:
diff --git a/bundles/org.eclipse.wst.command.env.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.command.env.ui/META-INF/MANIFEST.MF
index abbfe1c..f8b9171 100644
--- a/bundles/org.eclipse.wst.command.env.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.command.env.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.command.env.ui; singleton:=true
-Bundle-Version: 1.0.102.qualifier
+Bundle-Version: 1.0.103.qualifier
 Bundle-Activator: org.eclipse.wst.command.internal.env.ui.plugin.EnvUIPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
@@ -17,9 +17,11 @@
  org.eclipse.wst.command.internal.env.ui.widgets.popup;x-internal:=true
 Require-Bundle: org.eclipse.wst.command.env.core;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.wst.command.env;bundle-version="[1.0.101,1.1.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.osgi;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.wst.common.frameworks;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.4.0)",
+ org.eclipse.wst.common.environment;bundle-version="[1.0.100,1.1.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)"
 Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleDialog.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleDialog.java
index c58301b..f1a55c7 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleDialog.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/SimpleDialog.java
@@ -11,7 +11,6 @@
  * -------- -------- -----------------------------------------------------------
  * 20060418   136335 joan@ca.ibm.com - Joan Haggarty
  * 20060418   136759 joan@ca.ibm.com - Joan Haggarty
- * 20061106   142500 david.schneider@unisys.com - David Schneider
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.ui.widgets;
 
@@ -60,7 +59,7 @@
     
     //Call extenders override of the callSetters method to intialize any data in widget
     callSetters();   
-    Dialog.applyDialogFont(parent);
+    org.eclipse.jface.dialogs.Dialog.applyDialogFont(control);
     return control;
   }  
   
diff --git a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/WizardPageManager.java b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/WizardPageManager.java
index 0c795ce..4c55ea1 100644
--- a/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/WizardPageManager.java
+++ b/bundles/org.eclipse.wst.command.env.ui/src/org/eclipse/wst/command/internal/env/ui/widgets/WizardPageManager.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * Copyright (c) 2004, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -11,6 +11,7 @@
  * -------- -------- -----------------------------------------------------------
  * 20060223   129232 pmoogk@ca.ibm.com - Peter Moogk
  * 20060313   130958 pmoogk@ca.ibm.com - Peter Moogk
+ * 20070319   175721 pmoogk@ca.ibm.com - Peter Moogk
  *******************************************************************************/
 package org.eclipse.wst.command.internal.env.ui.widgets;
 
@@ -238,8 +239,11 @@
   { 	
   	// We need to simulate the next button being pressed until there are no more pages.
   	// If an error occurs we will return false and reset the command stack back our original state.
-  	boolean    doneOk    = true;
-  	PageWizardDataEvents startPage = currentPage_;
+  	boolean              doneOk         = true;
+  	PageWizardDataEvents startPage      = currentPage_;
+    int                  stackStackSize = widgetStackStack_.size();
+    
+    INamedWidgetContributorFactory currentFactory = widgetFactory_;
   	
   	// Externalize the current page.
   	currentPage_.getDataEvents().externalize();
@@ -254,10 +258,6 @@
   	  	// An error occured in one of the commands.
   	  	doneOk = false;
   	  }
-  	  else
-  	  {
-  	  	currentPage_ = nextPage_;
-  	  }
   	}
   	while( nextPage_ != null && doneOk);
   	
@@ -272,10 +272,32 @@
   	  {
   	    done = engine_.undoToLastStop();
   	    page = getPage( lastUndoFragment_ );
+        
+        if( page == null && 
+            currentFactory != null && 
+            lastUndoFragment_ != null &&
+            getWidgetFactory( lastUndoFragment_.getId() ) == currentFactory )
+        {
+          // The current widget factory is associated with the last fragment that was undone.
+          // Therefore, we are back to where we started.
+          done = true;    
+          
+          // Restore the widgetStackStack back to the state it was in before
+          // running forward.
+          widgetStackStack_.setSize( stackStackSize );
+          
+          StackEntry entry = (StackEntry)widgetStackStack_.peek();
+          
+          widgetFactory_ = entry.factory_;
+          widgetStack_   = entry.stack_;
+        }
+        else if( page != null )
+        {
+          widgetFactory_ = null;
+          widgetStack_ = null;
+        }
   	  }
   	  while( page != startPage && !done ); 	  
-  	  
-  	  currentPage_ = page;
   	}
   	
   	return doneOk;
diff --git a/bundles/org.eclipse.wst.command.env/.externalToolBuilders/build-anttasks.launch b/bundles/org.eclipse.wst.command.env/.externalToolBuilders/build-anttasks.launch
index db36c7e..e4b79ad 100644
--- a/bundles/org.eclipse.wst.command.env/.externalToolBuilders/build-anttasks.launch
+++ b/bundles/org.eclipse.wst.command.env/.externalToolBuilders/build-anttasks.launch
@@ -1,19 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntLaunchConfigurationType">
+<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
 <booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.ant.internal.ui.antsupport.InternalAntRunner"/>
+<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${project}"/>
+<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
 <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.wst.command.env/build-anttasks.xml}"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/ibm-sdk-java5-20060912"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.wst.command.env"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.wst.command.env/build-anttasks.xml"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="true"/>
+<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
 <booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
 </launchConfiguration>
diff --git a/bundles/org.eclipse.wst.command.env/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.command.env/META-INF/MANIFEST.MF
index 42280d6..7935957 100644
--- a/bundles/org.eclipse.wst.command.env/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.command.env/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.command.env; singleton:=true
-Bundle-Version: 1.0.102.qualifier
+Bundle-Version: 1.0.104.qualifier
 Bundle-Activator: org.eclipse.wst.command.internal.env.plugin.EnvPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
@@ -16,10 +16,10 @@
  org.eclipse.wst.command.internal.env.plugin;x-internal:=true,
  org.eclipse.wst.command.internal.env.preferences;x-internal:=true
 Require-Bundle: org.eclipse.wst.command.env.core;bundle-version="[1.0.101,1.1.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.4.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.wst.common.frameworks;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.core.commands;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.commands;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.wst.common.environment;bundle-version="[1.0.100,1.1.0)",
  org.apache.ant;bundle-version="[1.6.5,1.7.0)",
  org.eclipse.ant.core;bundle-version="[3.1.100,3.2.0)"
diff --git a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/Environment.properties b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/Environment.properties
index 413d700..815c255 100644
--- a/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/Environment.properties
+++ b/bundles/org.eclipse.wst.command.env/src/org/eclipse/wst/command/internal/env/Environment.properties
@@ -1,12 +1,15 @@
 ###############################################################################
-# Copyright (c) 2001, 2004 IBM Corporation and others.
+# Copyright (c) 2001, 2007 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
 # http://www.eclipse.org/legal/epl-v10.html
 #
 # Contributors:
-#     IBM Corporation - initial API and implementation
+# IBM Corporation - initial API and implementation
+# yyyymmdd bug      Email and other contact information
+# -------- -------- -----------------------------------------------------------
+# 20070418   177005 pmoogk@ca.ibm.com - Peter Moogk
 ###############################################################################
 
 #
@@ -23,7 +26,7 @@
 MSG_ERROR_FOLDER_HAS_CHILDREN=IWAB0012E Cannot create folder: {0} that already has children.
 MSG_ERROR_IO=IWAB0006E An input/output error occurred while processing the resource "{0}".
 MSG_ERROR_FILE_OVERWRITE_DISABLED=IWAB0164E Cannot create the file "{1}" relative to the path "{0}" because automatic file overwriting has not been enabled. Do you want to enable it for this file?
-MSG_ERROR_UNEXPECTED_ERROR=IWAB0014E Unexpected exception occured.
+MSG_ERROR_UNEXPECTED_ERROR=IWAB0014E Unexpected exception occurred.
 MSG_ERROR_ANT_DATA_TRANSFORM=Exception transforming Ant property key {0} using transformation {1}.
 MSG_ERROR_ANT_CALL_SETTER=Exception invoking setter method {0} for Ant property.
 MSG_ERROR_ANT_CMD_FRAGMENT=Exception retrieving Ant command fragment from registry.
diff --git a/bundles/org.eclipse.wst.ws.explorer/.cvsignore b/bundles/org.eclipse.wst.ws.explorer/.cvsignore
index 80aae3b..a8fd994 100644
--- a/bundles/org.eclipse.wst.ws.explorer/.cvsignore
+++ b/bundles/org.eclipse.wst.ws.explorer/.cvsignore
@@ -3,7 +3,7 @@
 webapps
 temp.folder
 build.xml
+*.jar
 *.war
 explorersrc.zip
 javaCompiler.*.args
-*.jar
diff --git a/bundles/org.eclipse.wst.ws.explorer/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.ws.explorer/META-INF/MANIFEST.MF
index ecc4b63..e13a850 100644
--- a/bundles/org.eclipse.wst.ws.explorer/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.ws.explorer/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.ws.explorer; singleton:=true
-Bundle-Version: 1.0.104.qualifier
+Bundle-Version: 1.0.105.qualifier
 Bundle-ClassPath: explorer.jar,
  wsexplorer-properties.jar
 Bundle-Activator: org.eclipse.wst.ws.internal.explorer.plugin.ExplorerPlugin
@@ -12,13 +12,13 @@
  org.eclipse.wst.ws.internal.explorer.favorites;x-internal:=true,
  org.eclipse.wst.ws.internal.explorer.plugin;x-internal:=true,
  org.eclipse.wst.ws.internal.explorer.popup;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.4.0)",
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.help.appserver;bundle-version="[3.1.100,3.2.0)",
  org.eclipse.ui;bundle-version="[3.2.0,3.4.0)",
- org.eclipse.emf.common;bundle-version="[2.2.0,2.4.0)",
- org.eclipse.emf.ecore;bundle-version="[2.2.0,2.4.0)",
- org.eclipse.xsd;bundle-version="[2.2.0,2.4.0)",
+ org.eclipse.emf.common;bundle-version="[2.2.0,2.3.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.2.0,2.3.0)",
+ org.eclipse.xsd;bundle-version="[2.2.0,2.3.0)",
  org.eclipse.wst.command.env;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.wst.command.env.core;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.wst.command.env.ui;bundle-version="[1.0.101,1.1.0)",
@@ -33,5 +33,6 @@
  org.eclipse.wst.common.frameworks.ui;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.wst.common.environment;bundle-version="[1.0.100,1.1.0)",
  org.eclipse.wst.common.uriresolver;bundle-version="[1.1.0,1.2.0)",
- com.ibm.icu;bundle-version="[3.4.4,4.0.0)"
+ com.ibm.icu;bundle-version="[3.4.4,3.5.0)",
+ org.eclipse.wst.ws.ui;bundle-version="[1.0.103,1.1.0)"
 Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.wst.ws.explorer/build-war.xml b/bundles/org.eclipse.wst.ws.explorer/build-war.xml
index 8a24951..78ec8b6 100644
--- a/bundles/org.eclipse.wst.ws.explorer/build-war.xml
+++ b/bundles/org.eclipse.wst.ws.explorer/build-war.xml
@@ -1,15 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project name="org.eclipse.wst.ws.explorer" default="build.wars" basedir=".">
     
-    <!-- The env.JAVA_5_HOME values set on the
-    java/jvm and javac/executable attributes insure
-    the WSE servlets are compiled to the Java 5 level -->
+    <!-- the environment variables are important to set here, and 
+    to have JAVA_4_HOME set to some Java 1.4 SDK home, 
+    since we want this compiled with a 1.4 version, but 
+    this overall build itself might be being ran in Java 1.5 -->
     <property environment="env" />
     
 	<property name="wsexplorerDir" value="${buildDirectory}/plugins/org.eclipse.wst.ws.explorer/wsexplorer"/>
 
 	<target name="jspcompile" unless="wsexplorer.war" description="Pre-compile the JSPs in the org.eclipse.wst.ws.explorer plugin">
-		<java classname="org.apache.jasper.JspC" fork="true" jvm="${env.JAVA_5_HOME}/bin/java">
+		<java classname="org.apache.jasper.JspC" fork="true" jvm="${env.JAVA_4_HOME}/bin/java">
 			<arg line="-webxml ${wsexplorerDir}/WEB-INF/web.xml -d ${wsexplorerDir} -webapp ${wsexplorerDir}"/>
 			<classpath>
 				<fileset dir="${baseLocation}/plugins">
@@ -20,7 +21,7 @@
 				</fileset>
 			</classpath>
 		</java>
-		<javac destdir="${wsexplorerDir}/WEB-INF/classes" includeAntRuntime="false" failonerror="false" executable="${env.JAVA_5_HOME}/bin/javac" fork="true">
+		<javac destdir="${wsexplorerDir}/WEB-INF/classes" includeAntRuntime="false" failonerror="false" executable="${env.JAVA_4_HOME}/bin/javac" fork="true">
 			<src path="${wsexplorerDir}"/>
 			<classpath>
 				<fileset dir="${buildDirectory}/plugins">
diff --git a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/WSExplorer.java b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/WSExplorer.java
index 6c60c63..466325b 100644
--- a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/WSExplorer.java
+++ b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/WSExplorer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
+ * Copyright (c) 2004, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -12,6 +12,7 @@
  * 20060721   151409 makandre@ca.ibm.com - Andrew Mak, WSE does not open in external browser on RH
  * 20060802   150428 sengpl@ca.ibm.com - Seng Phung-Lu
  * 20061219   168620 makandre@ca.ibm.com - Andrew Mak, WSE does not open in external browser on Linux
+ * 20070220   168620 makandre@ca.ibm.com - Andrew Mak, WSE does not open in external browser on Linux (cont.)
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer;
 
@@ -120,7 +121,6 @@
 			IWebBrowser browser = null;
 			
 			if (forceLaunchOutsideIDE) {
-				browser = browserSupport.getExternalBrowser();
 				
 				// external browser support uses swt Program.findProgram() to locate an appropriate browser for HTML files
 				// certain versions of swt Program class need to be run from the UI thread, otherwise findProgram() does not
@@ -130,14 +130,16 @@
 				if (Display.getCurrent() == null) {
 					
 					// create a runnable to open the browser, run it in the UI thread
-					OpenBrowserRunnable runnable = new OpenBrowserRunnable(browser, new URL(sb.toString()));
+					OpenBrowserRunnable runnable = new OpenBrowserRunnable(browserSupport, new URL(sb.toString()));
 					Display.getDefault().syncExec(runnable);
 					
 					if (runnable.getException() != null)
 						throw runnable.getException();
 				}
-				else
+				else {
+					browser = browserSupport.getExternalBrowser();
 					browser.openURL(new URL(sb.toString()));
+				}
 			}
 			else {
 				// browserId
@@ -258,18 +260,18 @@
  */
 class OpenBrowserRunnable implements Runnable {
 	
-	private IWebBrowser browser;
+	private IWorkbenchBrowserSupport browserSupport;
 	private URL url;
 	private Exception exception = null;
 	
-	public OpenBrowserRunnable(IWebBrowser browser, URL url) {
-		this.browser = browser;
+	public OpenBrowserRunnable(IWorkbenchBrowserSupport browserSupport, URL url) {
+		this.browserSupport = browserSupport;
 		this.url = url;
 	}
 	
 	public void run() {
 		try {
-			browser.openURL(url);			
+			browserSupport.getExternalBrowser().openURL(url);			
 		}
 		catch (Exception e) {
 			exception = e;
diff --git a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/popup/PopupTestWSDL.java b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/popup/PopupTestWSDL.java
index 9c77001..182b58f 100644
--- a/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/popup/PopupTestWSDL.java
+++ b/bundles/org.eclipse.wst.ws.explorer/src/org/eclipse/wst/ws/internal/explorer/popup/PopupTestWSDL.java
@@ -1,16 +1,17 @@
 /*******************************************************************************
- * Copyright (c) 2002, 2006 IBM Corporation and others.
+ * Copyright (c) 2002, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  * IBM Corporation - initial API and implementation
  * yyyymmdd bug      Email and other contact information
  * -------- -------- -----------------------------------------------------------
  * 20060606   105069 mahutch@ca.ibm.com - Mark Hutchinson
  * 20060803   152790 mahutch@ca.ibm.com - Mark Hutchinson
+ * 20070327   172339 kathy@ca.ibm.com - Kathy Chan
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.popup;
 
@@ -34,6 +35,7 @@
 import org.eclipse.wst.ws.internal.explorer.plugin.ExplorerPlugin;
 import org.eclipse.wst.ws.internal.monitor.GetMonitorCommand;
 import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser;
+import org.eclipse.wst.ws.internal.ui.utils.AdapterUtils;
 import org.eclipse.wst.wsdl.Definition;
 import org.eclipse.wst.wsdl.internal.impl.ServiceImpl;
 import org.eclipse.wst.wsdl.util.WSDLResourceImpl;
@@ -73,29 +75,33 @@
         Object object = it.next();
         if (object instanceof IResource)
         {
-          File wsdlFile = ((IResource)object).getLocation().toFile();
-          try
-          {
-            wsdlURL = wsdlFile.toURL().toString();
-          }
-          catch (MalformedURLException murle)
-          {
-            wsdlURL = wsdlFile.toString();
-          }
-        }
-       
-        if (object instanceof ServiceImpl)
+        	File wsdlFile = ((IResource)object).getLocation().toFile();
+        	try
+        	{
+        		wsdlURL = wsdlFile.toURL().toString();
+        	}
+        	catch (MalformedURLException murle)
+        	{
+        		wsdlURL = wsdlFile.toString();
+        	}
+        } else if (object instanceof ServiceImpl)
         {
-          ServiceImpl serviceImpl = (ServiceImpl)object;          
-          Definition definition = serviceImpl.getEnclosingDefinition();        
-          wsdlURL = definition.getLocation();
-        }        
-
-        if (object instanceof WSDLResourceImpl)
+        	ServiceImpl serviceImpl = (ServiceImpl)object;          
+        	Definition definition = serviceImpl.getEnclosingDefinition();        
+        	wsdlURL = definition.getLocation();
+        } else if (object instanceof WSDLResourceImpl)
         {
-          WSDLResourceImpl WSDLRImpl = (WSDLResourceImpl)object;
-          Definition definition = WSDLRImpl.getDefinition();
-          wsdlURL = definition.getLocation();
+        	WSDLResourceImpl WSDLRImpl = (WSDLResourceImpl)object;
+        	Definition definition = WSDLRImpl.getDefinition();
+        	wsdlURL = definition.getLocation();
+        } else if (object instanceof String) {
+        	wsdlURL = (String) object;
+        } else {
+        	// Object is not any types we recognized, wsdlURL is still null.
+          	// Try looking up an adapter for the object.
+        	// If found, update wsdlURL contains the adapted WSDL string.  
+        	// If not found, wsdlURL would still be null.
+        	wsdlURL = AdapterUtils.getAdaptedWSDL(object);
         }
         
        addLaunchOptions(launchOptions, wsdlURL, stateLocation, defaultFavoritesLocation);        
@@ -140,4 +146,5 @@
   public void selectionChanged(IAction action, ISelection selection)
   {
   }
+  
 }
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDElementDeclarationToFragmentMapper.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDElementDeclarationToFragmentMapper.java
index 939623b..7f4d6a0 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDElementDeclarationToFragmentMapper.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/XSDElementDeclarationToFragmentMapper.java
@@ -1,12 +1,15 @@
 /*******************************************************************************
- * Copyright (c) 2002, 2004 IBM Corporation and others.
+ * Copyright (c) 2002, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *     IBM Corporation - initial API and implementation
+ * IBM Corporation - initial API and implementation
+ * yyyymmdd bug      Email and other contact information
+ * -------- -------- -----------------------------------------------------------
+ * 20070404   181065 makandre@ca.ibm.com - Andrew Mak, WSE does not handle types referenced across inline schemas
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment;
 
@@ -29,7 +32,7 @@
     XSDElementDeclaration element = (XSDElementDeclaration)config.getXSDComponent();
     if (element != null) {
       XSDElementDeclaration resolvedElement = resolveXSDElementDeclaration(element);
-      XSDTypeDefinition typeDef = getXSDTypeDefinition(resolvedElement);
+      XSDTypeDefinition typeDef = resolveXSDTypeDefinition(getXSDTypeDefinition(resolvedElement));
       if (typeDef != null) {
         int minOccurs = FragmentConstants.DEFAULT_MIN_OCCURS;
         int maxOccurs = FragmentConstants.DEFAULT_MAX_OCCURS;
@@ -76,6 +79,17 @@
     else
       return element;
   }
+  
+  private XSDTypeDefinition resolveXSDTypeDefinition(XSDTypeDefinition typeDef) {
+	  
+	  if (!isComponentResolvable(typeDef)) {
+		  XSDComponent resolvedComponent = getWSDLPartsToXSDTypeMapper().resolveXSDNamedComponent(typeDef);
+		  if (resolvedComponent instanceof XSDTypeDefinition)
+			  return (XSDTypeDefinition) resolvedComponent;
+	  }
+	  
+	  return typeDef;
+  }
 
   private XSDTypeDefinition getXSDTypeDefinition(XSDElementDeclaration element) {
     // port to org.eclipse.xsd
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDGroupFragment.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDGroupFragment.java
index 33e130c..0ded5c9 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDGroupFragment.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/wsdl/fragment/impl/XSDGroupFragment.java
@@ -1,12 +1,15 @@
 /*******************************************************************************
- * Copyright (c) 2002, 2004 IBM Corporation and others.
+ * Copyright (c) 2002, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
- *     IBM Corporation - initial API and implementation
+ * IBM Corporation - initial API and implementation
+ * yyyymmdd bug      Email and other contact information
+ * -------- -------- -----------------------------------------------------------
+ * 20070404   173877 gilberta@ca.ibm.com - Gilbert Andrews
  *******************************************************************************/
 package org.eclipse.wst.ws.internal.explorer.platform.wsdl.fragment.impl;
 
@@ -98,8 +101,7 @@
           paramsAssigned = true;
         }
         else if(groupMemberFrags[j] instanceof XSDGroupFragment) {
-        	Element[] childInstances = getInstanceDocumentPartition(instanceDocuments, i, groupMemberFrags[j].getXSDToFragmentConfiguration().getMaxOccurs());
-           	groupMemberFrags[j].setParameterValuesFromInstanceDocuments(childInstances);
+        	groupMemberFrags[j].setParameterValuesFromInstanceDocuments(instanceDocuments);
         }
         
         if (j == groupMemberFrags.length - 1) {
diff --git a/bundles/org.eclipse.wst.ws.parser/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.ws.parser/META-INF/MANIFEST.MF
index a23d969..9fe660e 100644
--- a/bundles/org.eclipse.wst.ws.parser/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.ws.parser/META-INF/MANIFEST.MF
@@ -14,7 +14,7 @@
  org.eclipse.wst.ws.parser
 Require-Bundle: org.eclipse.wst.wsdl;bundle-version="[1.0.100,1.1.0)",
  org.wsdl4j;bundle-version="[1.4.0,1.5.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
  org.apache.wsil4j;bundle-version="[1.0.0,1.1.0)",
  org.uddi4j;bundle-version="[2.0.4,2.1.0)",
  org.eclipse.wst.command.env.core;bundle-version="[1.0.101,1.1.0)",
diff --git a/bundles/org.eclipse.wst.ws.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.ws.ui/META-INF/MANIFEST.MF
index e2af456..e9b2c66 100644
--- a/bundles/org.eclipse.wst.ws.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.ws.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.ws.ui; singleton:=true
-Bundle-Version: 1.0.102.qualifier
+Bundle-Version: 1.0.103.qualifier
 Bundle-Activator: org.eclipse.wst.ws.internal.ui.plugin.WSUIPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
@@ -10,15 +10,16 @@
  org.eclipse.wst.ws.internal.ui.command;x-internal:=true,
  org.eclipse.wst.ws.internal.ui.plugin;x-internal:=true,
  org.eclipse.wst.ws.internal.ui.preferences;x-internal:=true,
+ org.eclipse.wst.ws.internal.ui.utils,
  org.eclipse.wst.ws.internal.ui.wsi.preferences;x-internal:=true,
  org.eclipse.wst.ws.internal.ui.wsi.properties;x-internal:=true,
  org.eclipse.wst.ws.internal.ui.wsrt;x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.4.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.wst.command.env.ui;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.wst.ws;bundle-version="[1.0.100,1.1.0)",
  org.eclipse.wst.common.frameworks;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.emf.common;bundle-version="[2.2.0,2.4.0)",
+ org.eclipse.emf.common;bundle-version="[2.2.0,2.3.0)",
  org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)"
 Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/utils/AdapterUtils.java b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/utils/AdapterUtils.java
new file mode 100644
index 0000000..b4e8149
--- /dev/null
+++ b/bundles/org.eclipse.wst.ws.ui/src/org/eclipse/wst/ws/internal/ui/utils/AdapterUtils.java
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ * yyyymmdd bug      Email and other contact information
+ * -------- -------- -----------------------------------------------------------
+ * 20070327   172339 kathy@ca.ibm.com - Kathy Chan
+ *******************************************************************************/
+package org.eclipse.wst.ws.internal.ui.utils;
+
+import java.net.URI;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.Platform;
+
+/**
+ * The AdapterUtils class provides utility methods to get objects from the Platform's adapter extension.
+ *
+ */
+public class AdapterUtils {	
+	
+	/**
+	 * @param object Object to adapt
+	 * @return The adapted object representing the file or String if an adapter is found. 
+	 *         Returns null if an adapter is not found.
+	 */
+	public static Object getAdaptedObject (Object object) { 
+		Object adaptedObject = Platform.getAdapterManager().loadAdapter(object, "org.eclipse.core.resources.IFile");
+		if (adaptedObject == null) {
+			adaptedObject = Platform.getAdapterManager().loadAdapter(object, "java.lang.String");
+		}
+		return adaptedObject;
+	}
+	
+	/**
+	   * @param object Look up an adapter mapping the object to IFile or String.
+	   * @return The WSDL uri returned by the adapter or null if no adapter is found.
+	   */
+	  public static String getAdaptedWSDL (Object object) {
+		  String wsdlURI = null;
+		  Object adaptedObject = AdapterUtils.getAdaptedObject(object);
+		  if ( adaptedObject != null) {
+			  if (adaptedObject instanceof IFile)
+			  {
+				  URI uri = ((IFile)adaptedObject).getLocationURI();
+				  if (uri != null) {
+					  wsdlURI = uri.toString();
+				  }
+				  
+			  } else if (adaptedObject instanceof String) {
+				  wsdlURI = (String) adaptedObject;
+			  }
+		  }
+		  return wsdlURI;
+	  }
+	
+}
diff --git a/bundles/org.eclipse.wst.ws/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.ws/META-INF/MANIFEST.MF
index 843fa38..551d96a 100644
--- a/bundles/org.eclipse.wst.ws/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.ws/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.ws; singleton:=true
-Bundle-Version: 1.0.101.qualifier
+Bundle-Version: 1.0.102.qualifier
 Bundle-Activator: org.eclipse.wst.ws.internal.plugin.WSPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
@@ -31,20 +31,20 @@
  org.eclipse.wst.ws.internal.wsfinder;x-internal:=true,
  org.eclipse.wst.ws.internal.wsil;x-internal:=true,
  org.eclipse.wst.ws.internal.wsrt;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.wst.internet.monitor.core;bundle-version="[1.0.102,1.1.0)",
  org.eclipse.wst.server.core;bundle-version="[1.0.102,1.1.0)",
  org.eclipse.wst.command.env.core;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.wst.ws.parser;bundle-version="[1.0.100,1.1.0)",
- org.eclipse.emf.common;bundle-version="[2.2.0,2.4.0)",
+ org.eclipse.emf.common;bundle-version="[2.2.0,2.3.0)",
  org.wsdl4j;bundle-version="[1.4.0,1.5.0)",
  org.apache.wsil4j;bundle-version="[1.0.0,1.1.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.4.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.wst.command.env;bundle-version="[1.0.101,1.1.0)",
  org.eclipse.wst.common.frameworks;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.core.commands;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.commands;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.wst.common.environment;bundle-version="[1.0.100,1.1.0)",
- org.eclipse.emf.ecore;bundle-version="[2.2.0,2.4.0)",
- org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,2.4.0)",
- org.eclipse.emf.codegen;bundle-version="[2.2.0,2.4.0)"
+ org.eclipse.emf.ecore;bundle-version="[2.2.0,2.3.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,2.3.0)",
+ org.eclipse.emf.codegen;bundle-version="[2.2.0,2.3.0)"
 Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.wst.wsdl.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.wsdl.ui/META-INF/MANIFEST.MF
index 4387db9..d0e2a3f 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.wsdl.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %_UI_PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.wsdl.ui; singleton:=true
-Bundle-Version: 1.1.101.qualifier
+Bundle-Version: 1.1.102.qualifier
 Bundle-Activator: org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/adapters/basic/W11EndPoint.java b/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/adapters/basic/W11EndPoint.java
index 86d031e..031b70e 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/adapters/basic/W11EndPoint.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/adapters/basic/W11EndPoint.java
@@ -20,9 +20,12 @@
 import org.eclipse.gef.commands.Command;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.wst.wsdl.Binding;
+import org.eclipse.wst.wsdl.ExtensibilityElement;
 import org.eclipse.wst.wsdl.Port;
 import org.eclipse.wst.wsdl.binding.http.HTTPAddress;
+import org.eclipse.wst.wsdl.binding.http.HTTPFactory;
 import org.eclipse.wst.wsdl.binding.soap.SOAPAddress;
+import org.eclipse.wst.wsdl.binding.soap.SOAPFactory;
 import org.eclipse.wst.wsdl.ui.internal.Messages;
 import org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin;
 import org.eclipse.wst.wsdl.ui.internal.actions.OpenInNewEditor;
@@ -57,6 +60,43 @@
         }	
 		return ""; //$NON-NLS-1$
 	}
+	
+	public List getApplicableProtocol() {
+		List protocols = new ArrayList();
+		protocols.add("SOAP");
+		protocols.add("HTTP");
+		
+		return protocols;
+	}
+	
+	public void setProtocol(String newProtocol) {
+		String currentAddress = getAddress();
+		if (newProtocol.equals("SOAP")) {
+			SOAPAddress soap = SOAPFactory.eINSTANCE.createSOAPAddress();
+			soap.setLocationURI(currentAddress);
+			setNewProtocol(soap);
+		}
+		else if (newProtocol.equals("HTTP")) {
+			HTTPAddress http = HTTPFactory.eINSTANCE.createHTTPAddress();
+			http.setLocationURI(currentAddress);
+			setNewProtocol(http);
+		}
+	}
+	
+	private void setNewProtocol(ExtensibilityElement element) {
+		Port port = getPort();
+		
+		List existingElements = port.getEExtensibilityElements();
+		for (int index = 0; index < existingElements.size(); index++) {
+			Object item = existingElements.get(index);
+			if (item instanceof SOAPAddress || item instanceof HTTPAddress) {
+				existingElements.remove(index);
+				break;
+			}
+		}
+
+		port.addExtensibilityElement(element);
+	}
     
     protected List getAddressExtensiblityElements()
     {       
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/adapters/basic/W11ParameterForElement.java b/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/adapters/basic/W11ParameterForElement.java
index ad851af..712fca2 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/adapters/basic/W11ParameterForElement.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/adapters/basic/W11ParameterForElement.java
@@ -55,7 +55,7 @@
         compName = "**anonymous**"; 
     }
 
-    return td.getName() != null ? td.getName() : compName;
+    return (td != null && td.getName() != null) ? td.getName() : compName;
   }
   
   public String getPreview() {
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/adapters/commands/W11SetBindingCommand.java b/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/adapters/commands/W11SetBindingCommand.java
index 68a700f..22da94a 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/adapters/commands/W11SetBindingCommand.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/adapters/commands/W11SetBindingCommand.java
@@ -10,8 +10,18 @@
  *******************************************************************************/
 package org.eclipse.wst.wsdl.ui.internal.adapters.commands;
 
+import java.util.Iterator;
+import java.util.List;
+
 import org.eclipse.wst.wsdl.Binding;
+import org.eclipse.wst.wsdl.ExtensibilityElement;
 import org.eclipse.wst.wsdl.Port;
+import org.eclipse.wst.wsdl.binding.http.HTTPAddress;
+import org.eclipse.wst.wsdl.binding.http.HTTPBinding;
+import org.eclipse.wst.wsdl.binding.http.HTTPFactory;
+import org.eclipse.wst.wsdl.binding.soap.SOAPAddress;
+import org.eclipse.wst.wsdl.binding.soap.SOAPBinding;
+import org.eclipse.wst.wsdl.binding.soap.SOAPFactory;
 import org.eclipse.wst.wsdl.ui.internal.Messages;
 
 public class W11SetBindingCommand extends W11TopLevelElementCommand {
@@ -28,9 +38,80 @@
 		try {
 			beginRecording(port.getElement());
 			port.setEBinding(binding);
+
+			updatePortProtocol(port, binding);
 		}
 		finally {
 			endRecording(port.getElement());
 		}
 	}
+	
+	public static void updatePortProtocol(Port port, Binding binding) {
+		String portAddress = null;
+		Object bindingProtocol = getBindingProtocol(binding);
+		Object portProtocol = getPortProtocol(port);
+		
+		if (portProtocol instanceof SOAPAddress) {
+			portAddress = ((SOAPAddress) portProtocol).getLocationURI();
+		}
+		else if (portProtocol instanceof HTTPAddress) {
+			portAddress = ((HTTPAddress) portProtocol).getLocationURI();
+		}
+
+		if (portAddress == null) {
+			portAddress = "http://www.example.org";
+		}
+		
+		if (bindingProtocol instanceof SOAPBinding && !(portProtocol instanceof SOAPAddress)) {
+			SOAPAddress soap = SOAPFactory.eINSTANCE.createSOAPAddress();
+			soap.setLocationURI(portAddress);
+			setNewProtocol(port, soap);
+		}
+		else if (bindingProtocol instanceof HTTPBinding && !(portProtocol instanceof HTTPAddress)) {
+			HTTPAddress http = HTTPFactory.eINSTANCE.createHTTPAddress();
+			http.setLocationURI(portAddress);
+			setNewProtocol(port, http);
+		}
+	}
+	
+	private static Object getBindingProtocol(Binding binding) {
+		Iterator it = binding.getEExtensibilityElements().iterator();
+		while (it.hasNext()) {
+			Object item = it.next();
+			if (item instanceof SOAPBinding || item instanceof HTTPBinding) {
+				return item;
+			}
+		}
+		
+		return null;
+	}
+	
+	private static Object getPortProtocol(Port port) {
+		
+		Iterator it = port.getEExtensibilityElements().iterator();
+        while (it.hasNext()) {
+        	Object item = it.next();
+        	if (item instanceof SOAPAddress) {
+        		return item;
+        	}
+        	else if (item instanceof HTTPAddress) {
+        		return item;
+        	}
+        }	
+
+		return null;
+	}
+	
+	private static void setNewProtocol(Port port, ExtensibilityElement element) {
+		List existingElements = port.getEExtensibilityElements();
+		for (int index = 0; index < existingElements.size(); index++) {
+			Object item = existingElements.get(index);
+			if (item instanceof SOAPAddress || item instanceof HTTPAddress) {
+				existingElements.remove(index);
+				break;
+			}
+		}
+
+		port.addExtensibilityElement(element);
+	}
 }
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/edit/W11BindingReferenceEditManager.java b/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/edit/W11BindingReferenceEditManager.java
index 16e72ee..58345db 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/edit/W11BindingReferenceEditManager.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-asd-wsdl11/org/eclipse/wst/wsdl/ui/internal/edit/W11BindingReferenceEditManager.java
@@ -19,10 +19,12 @@
 import org.eclipse.gef.commands.CommandStack;
 import org.eclipse.wst.common.ui.internal.search.dialogs.ComponentSpecification;
 import org.eclipse.wst.common.ui.internal.search.dialogs.IComponentDescriptionProvider;
+import org.eclipse.wst.wsdl.Binding;
 import org.eclipse.wst.wsdl.Definition;
 import org.eclipse.wst.wsdl.Port;
 import org.eclipse.wst.wsdl.ui.internal.adapters.basic.W11Description;
 import org.eclipse.wst.wsdl.ui.internal.adapters.basic.W11EndPoint;
+import org.eclipse.wst.wsdl.ui.internal.adapters.commands.W11SetBindingCommand;
 import org.eclipse.wst.wsdl.ui.internal.asd.ASDEditorPlugin;
 import org.eclipse.wst.wsdl.ui.internal.asd.facade.IBinding;
 import org.eclipse.wst.wsdl.ui.internal.dialogs.W11BrowseComponentDialog;
@@ -65,6 +67,9 @@
 			Port port = (Port) w11EndPoint.getTarget();
 			WSDLSetComponentHelper helper = new WSDLSetComponentHelper(iFile, getDefinition());
 			helper.setWSDLComponent(port, "binding", (ComponentSpecification) bindingObject); //$NON-NLS-1$
+			
+			Binding newBinding = port.getEBinding();
+			W11SetBindingCommand.updatePortProtocol(port, newBinding);
 		}		
 		else if (bindingObject instanceof IBinding){
 			IBinding binding = (IBinding) bindingObject;
diff --git a/bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/properties/sections/EndPointSection.java b/bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/properties/sections/EndPointSection.java
index b88d8ed..fdc7511 100644
--- a/bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/properties/sections/EndPointSection.java
+++ b/bundles/org.eclipse.wst.wsdl.ui/src-asd/org/eclipse/wst/wsdl/ui/internal/asd/properties/sections/EndPointSection.java
@@ -11,10 +11,12 @@
 package org.eclipse.wst.wsdl.ui.internal.asd.properties.sections;
 
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 import org.eclipse.gef.commands.Command;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CCombo;
 import org.eclipse.swt.custom.CLabel;
 import org.eclipse.swt.layout.FormAttachment;
 import org.eclipse.swt.layout.FormData;
@@ -39,7 +41,7 @@
 
 public class EndPointSection extends ReferenceSection {
 	protected Text addressText;
-	protected CLabel protocolValueLabel;
+	protected CCombo protocolCombo;
 	
 	protected List bindingsInCombo = new ArrayList();
 	
@@ -72,21 +74,21 @@
 
 		// Protocol Row
 		CLabel protocolLabel = getWidgetFactory().createCLabel(composite, Messages._UI_LABEL_BINDING_PROTOCOL + ":"); //$NON-NLS-1$ //$NON-NLS-2$
-		protocolValueLabel = getWidgetFactory().createCLabel(composite, "----"); //$NON-NLS-1$
-		
+		protocolCombo = getWidgetFactory().createCCombo(composite); //$NON-NLS-1$
+
 		data = new FormData();
 		data.left = new FormAttachment(0, 0);
-		data.right = new FormAttachment(protocolValueLabel, -ITabbedPropertyConstants.HSPACE);
-		data.top = new FormAttachment(protocolValueLabel, 0, SWT.CENTER);
+		data.right = new FormAttachment(protocolCombo, -ITabbedPropertyConstants.HSPACE);
+		data.top = new FormAttachment(protocolCombo, 0, SWT.CENTER);
 		protocolLabel.setLayoutData(data);
 		
 		data = new FormData();
 		data.left = new FormAttachment(0, 100);
 		data.right = new FormAttachment(100, -rightMarginSpace - ITabbedPropertyConstants.HSPACE);
 		data.top = new FormAttachment(addressText, +ITabbedPropertyConstants.VSPACE);
-		protocolValueLabel.setLayoutData(data);
-		protocolValueLabel.addListener(SWT.Modify, this);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(protocolValueLabel, ASDEditorCSHelpIds.PROPERTIES_PORT_PROTOCOL_TEXT);
+		protocolCombo.setLayoutData(data);
+		protocolCombo.addListener(SWT.Modify, this);
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(protocolCombo, ASDEditorCSHelpIds.PROPERTIES_PORT_PROTOCOL_TEXT);
 
 		comboLabel.setText(Messages._UI_LABEL_BINDING + ":"); //$NON-NLS-1$ //$NON-NLS-2$
 		
@@ -98,6 +100,7 @@
 	 */
 	public void refresh() {
 		removeListeners(addressText);
+		protocolCombo.removeListener(SWT.Modify, this);
 
 		super.refresh();
 
@@ -107,21 +110,23 @@
 				addressText.setText(endPoint.getAddress());
 			}
 		}
-		// TODO: rmah: We should not know about W11EndPoint.  We need to for
-		// now to get access to the getProtocol() method.  Eventually the
-		// getProtocol() method should be defined in the IEndPoint interface
-		// post 1.5...
+		
+		protocolCombo.removeAll();
 		if (endPoint instanceof W11EndPoint) {
 			String protocolValue = ((W11EndPoint) endPoint).getProtocol();
-			if (protocolValue.equals("")) { //$NON-NLS-1$
-				protocolValue = "----"; //$NON-NLS-1$
+			List protocols = ((W11EndPoint) getModel()).getApplicableProtocol();
+			Iterator it = protocols.iterator();
+			while (it.hasNext()) {
+				protocolCombo.add((String) it.next());
 			}
-			protocolValueLabel.setText(protocolValue);
+		
+			protocolCombo.setText(protocolValue);
 		}
 		
 		setControlForegroundColor(addressText);
-		setControlForegroundColor(protocolValueLabel);
+		setControlForegroundColor(protocolCombo);
 		applyTextListeners(addressText);
+		protocolCombo.addListener(SWT.Modify, this);
 	}
 	
 	protected ComponentReferenceEditManager getComponentReferenceEditManager() {
@@ -216,6 +221,14 @@
 		  Command command = endPoint.getSetAddressCommand(newAddress);
 		  executeCommand(command);
 	  }
+	  else if (event.widget == protocolCombo && !protocolCombo.isDisposed()) {
+		  String newProtocol = protocolCombo.getText();
+		  if (newProtocol != null && getModel() instanceof W11EndPoint) {
+			  W11EndPoint endPoint = (W11EndPoint) getModel();
+			  endPoint.setProtocol(newProtocol);
+		  }
+	  }
+
 	  else {
 		  super.doHandleEvent(event);
 	  }
diff --git a/bundles/org.eclipse.wst.wsdl.validation/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.wsdl.validation/META-INF/MANIFEST.MF
index c110d37..5407c0a 100644
--- a/bundles/org.eclipse.wst.wsdl.validation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.wsdl.validation/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %_PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.wsdl.validation; singleton:=true
-Bundle-Version: 1.1.201.qualifier
+Bundle-Version: 1.1.102.qualifier
 Bundle-Activator: org.eclipse.wst.wsdl.validation.internal.eclipse.ValidateWSDLPlugin
 Bundle-Vendor: %_PROVIDER_NAME
 Bundle-Localization: plugin
@@ -20,12 +20,12 @@
  org.eclipse.wst.wsdl.validation.internal.wsdl11.soap;x-friends:="org.eclipse.wst.wsdl.validation.tests,org.eclipse.wst.wsi",
  org.eclipse.wst.wsdl.validation.internal.wsdl11.xsd;x-friends:="org.eclipse.wst.wsdl.validation.tests,org.eclipse.wst.wsi",
  org.eclipse.wst.wsdl.validation.internal.xml;x-friends:="org.eclipse.wst.wsdl.validation.tests,org.eclipse.wst.wsi"
-Require-Bundle: org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
+Require-Bundle: org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
  org.apache.ant;bundle-version="[1.6.5,1.7.0)",
  org.eclipse.wst.common.uriresolver;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.wst.validation;bundle-version="[1.1.0,1.2.0)",
  org.wsdl4j;bundle-version="[1.4.0,1.5.0)",
- org.apache.xerces;bundle-version="[2.8.0,2.9.0)";visibility:=reexport,
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+ org.apache.xerces;visibility:=reexport;bundle-version="[2.8.0,2.9.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.wst.xml.core;bundle-version="[1.1.0,1.2.0)"
 Eclipse-LazyStart: true
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/URIResolverWrapper.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/URIResolverWrapper.java
index 1ff6625..622c9c6 100644
--- a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/URIResolverWrapper.java
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/URIResolverWrapper.java
@@ -63,7 +63,7 @@
   /**
    * Resolve platform URLs to standard URLs. This method has the
    * practical effect of transforming a URL such as
-   * platform:/resource/test/test.wsdl
+   * platform:/test/test.wsdl
    * into
    * file:/c:/wtp/workspace/test/test.wsdl
    * 
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/Validator.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/Validator.java
index d2c098e..99fdeea 100644
--- a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/Validator.java
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/Validator.java
@@ -23,6 +23,14 @@
 {
   protected HashMap xsdGrammarPools = new HashMap();
   protected HashMap xmlGrammarPools = new HashMap();
+  
+  /* (non-Javadoc)
+   * @see org.eclipse.wst.xml.core.internal.validation.core.AbstractNestedValidator#getValidatorName()
+   */
+  protected String getValidatorName() 
+  {
+	return WSDLValidationMessages.Message_WSDL_validation_message_ui;
+  }
 
   /** 
    * Create and configure the two grammar pools for this WSDL validation context.
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/WSDLValidationMessages.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/WSDLValidationMessages.java
new file mode 100644
index 0000000..38ac09b
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/WSDLValidationMessages.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2005 IBM Corporation and others.
+ * All rights reserved.   This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ * 
+ * Contributors:
+ *   IBM - Initial API and implementation
+ * 
+ */
+package org.eclipse.wst.wsdl.validation.internal.eclipse;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * Strings used by WSDL Validation
+ */
+public class WSDLValidationMessages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.wst.wsdl.validation.internal.eclipse.wsdlvalidation";//$NON-NLS-1$
+
+	public static String Message_WSDL_validation_message_ui;
+
+	static {
+		// load message values from bundle file
+		NLS.initializeMessages(BUNDLE_NAME, WSDLValidationMessages.class);
+	}
+
+	private WSDLValidationMessages() {
+		// cannot create new instance
+	}
+}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/wsdlvalidation.properties b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/wsdlvalidation.properties
new file mode 100644
index 0000000..3adb534
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/eclipse/wsdlvalidation.properties
@@ -0,0 +1,14 @@
+###############################################################################
+# Copyright (c) 2001, 2006 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     IBM Corporation - initial API and implementation
+###############################################################################
+!-- Constants for strings  
+
+# validation strings
+Message_WSDL_validation_message_ui=WSDL Validator validating {0}
diff --git a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLDocument.java b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLDocument.java
index 0882ec9..19122c1 100644
--- a/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLDocument.java
+++ b/bundles/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/wsdl11/WSDLDocument.java
@@ -996,7 +996,7 @@
     catch (Exception e)
     {
       //the call above fails if there is no qualified namespace for the element name
-      elementName = new QName(null, DOMUtils.getAttribute(partEl, "element"));
+      elementName = new QName(null, DOMUtils.getAttribute(partEl, Constants.ATTR_ELEMENT));
     }
 
     QName typeName;
@@ -1009,7 +1009,7 @@
     catch (Exception e)
     {
       //the call above fails if there is no qualified namespace for the element attribute
-      typeName = new QName(null, DOMUtils.getAttribute(partEl, "name"));
+      typeName = new QName(null, DOMUtils.getAttribute(partEl, Constants.ATTR_TYPE));
     }
 
     if (name != null)
diff --git a/bundles/org.eclipse.wst.wsdl/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.wsdl/META-INF/MANIFEST.MF
index ed59a96..83db788 100644
--- a/bundles/org.eclipse.wst.wsdl/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.wsdl/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.wsdl; singleton:=true
-Bundle-Version: 1.0.103.qualifier
+Bundle-Version: 1.0.104.qualifier
 Bundle-Activator: org.eclipse.wst.wsdl.WSDLPluginImplementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/impl/PartImpl.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/impl/PartImpl.java
index 1e1dac0..ee0985f 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/impl/PartImpl.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/impl/PartImpl.java
@@ -639,17 +639,17 @@
   {
     Definition definition = getEnclosingDefinition();
 
-    String name = changedElement.getAttributeNS(null, "name");
+    String name = changedElement.getAttributeNS(null, WSDLConstants.NAME_ATTRIBUTE);
     if (name != null)
     {
       setName(name);
     }
 
     String elementAttr = WSDLConstants.getAttribute(changedElement, WSDLConstants.ELEMENT_ATTRIBUTE);
-    setElementName(elementAttr != null ? createQName(definition, elementAttr, element) : null);
+    setElementName(elementAttr != null ? createQName(definition, elementAttr, element, true) : null);
 		    
     String typeAttr = WSDLConstants.getAttribute(changedElement, WSDLConstants.TYPE_ATTRIBUTE);
-    setTypeName(typeAttr != null ? createQName(definition, typeAttr, element) : null);
+    setTypeName(typeAttr != null ? createQName(definition, typeAttr, element, true) : null);
 
     reconcileReferences(false);
   }
diff --git a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/impl/WSDLElementImpl.java b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/impl/WSDLElementImpl.java
index a37759f..f83d2fa 100644
--- a/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/impl/WSDLElementImpl.java
+++ b/bundles/org.eclipse.wst.wsdl/src-wsdl/org/eclipse/wst/wsdl/internal/impl/WSDLElementImpl.java
@@ -1000,6 +1000,29 @@
    */
   protected QName createQName(Definition definition, String prefixedName, Element element)
   {
+     return createQName(definition, prefixedName, element, false);
+  }
+  
+  /**
+   * Creates a QName from a prefixed name. Takes into account locally defined
+   * namespace prefixes. Selectively allows null namespace URIs.
+   * 
+   * @param definition
+   *          the enclosing definition. Must not be null.
+   * @param prefixedName
+   *          the prefixed name to convert to QName
+   * @param element
+   *          the enclosing element. May be null in which case the prefix is
+   *          only looked up among the ones defined at the definition level.
+   * @param allowNullNamespaceURI if true and the prefixed name does not have 
+   *          a prefix a QName is constructed and returned using 
+   *          {@link XMLConstants#NULL_NS_URI} for the namespace URI          
+   * @return the QName equivalent for the given prefixed name, or null if a
+   *         namespace prefix cannot be found for the given namespace URI or if
+   *         the prefixed name is null. 
+   */
+  protected QName createQName(Definition definition, String prefixedName, Element element, boolean allowNullNamespaceURI)
+  {
     QName qname = null;
     if (prefixedName != null)
     {
@@ -1014,7 +1037,7 @@
         namespace = getNamespaceURIFromPrefix(element, prefix);
       }
       
-      if (namespace != null)
+      if (namespace != null || (allowNullNamespaceURI && prefix.length() == 0))
       {
         String localPart = prefixedName.substring(index + 1);
         qname = new QName(namespace, localPart);       
diff --git a/bundles/org.eclipse.wst.wsi.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.wsi.ui/META-INF/MANIFEST.MF
index c50a4f5..989040d 100644
--- a/bundles/org.eclipse.wst.wsi.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.wsi.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %_PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.wsi.ui; singleton:=true
-Bundle-Version: 1.0.200.qualifier
+Bundle-Version: 1.0.101.qualifier
 Bundle-Activator: org.eclipse.wst.wsi.ui.internal.WSIUIPlugin
 Bundle-Vendor: %_PROVIDER_NAME
 Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.wst.wsi.ui/plugin.properties b/bundles/org.eclipse.wst.wsi.ui/plugin.properties
index 1b442fd..6f127ed 100644
--- a/bundles/org.eclipse.wst.wsi.ui/plugin.properties
+++ b/bundles/org.eclipse.wst.wsi.ui/plugin.properties
@@ -15,4 +15,4 @@
 _UI_WSI_VALIDATOR             = WS-I Message Validator
 _UI_ACTION_VALIDATE           = Validate WS-I Log File
 _UI_WIZARD_VALIDATE_LOG_TITLE = Validate WS-I Message Log File
-_UI_LOG_EDITOR                = XML Editor
+_UI_LOG_EDITOR                = WS-I Message Log Viewer
diff --git a/bundles/org.eclipse.wst.wsi.ui/plugin.xml b/bundles/org.eclipse.wst.wsi.ui/plugin.xml
index 61a9c62..f9b311e 100644
--- a/bundles/org.eclipse.wst.wsi.ui/plugin.xml
+++ b/bundles/org.eclipse.wst.wsi.ui/plugin.xml
@@ -58,6 +58,21 @@
       </validator>
    </extension>
    
+<!-- ======================================================= -->
+<!-- Extension point: org.eclipse.ui.editors                 -->
+<!-- Purpose: Specify editor for file with extension wsimsg. -->
+<!-- ======================================================= -->
+   <extension
+         point="org.eclipse.ui.editors">
+      <editor
+            name="%_UI_LOG_EDITOR"
+            extensions="wsimsg"
+            icon="icons/wsi_logfile_obj.gif"
+            class="org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart"
+            id="org.eclipse.wst.wsi.ui.internal.WSILogEditor">
+      </editor>
+   </extension>
+   
    <!-- ======================================================= -->
    <!-- Extension point: org.eclipse.core.runtime.contentTypes  --> 
    <!-- Purpose: Specify file association for wsimsg.           -->
diff --git a/features/org.eclipse.wst.ws_core.feature/addPreBuiltComponents.xml b/features/org.eclipse.wst.ws_core.feature/addPreBuiltComponents.xml
deleted file mode 100644
index 787d33e..0000000
--- a/features/org.eclipse.wst.ws_core.feature/addPreBuiltComponents.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Callbacks to use when building this feature                		   -->
-<!--                                                                       -->
-<!-- build.properties must have a line that says                           -->
-<!--   customBuildCallbacks=addPreBuiltComponents.xml                      -->
-<!-- ===================================================================== -->
-<project name="addPreBuiltComponents" default="noDefault">
-    <!-- 
-    	Note to be cross-platform, "environment variables" are only appropriate for 
-        some variables, e.g. ones we set, since properties are case sensitive, even if 
-        the environment variables on your operating system are not, e.g. it will 
-        be ${env.Path} not ${env.PATH} on Windows -->
-    <property environment="env" />
-
-
-    <!-- ===================================================================== -->
-    <!-- Steps to do before the target gather.bin.parts                        -->
-    <!-- Available parameters :                                                -->
-    <!--  destination.temp.folder - the directory plugins will be collected to -->
-    <!--  feature.directory - the directory containing the resulting feature   -->
-    <!-- ===================================================================== -->
-    <target name="pre.gather.bin.parts">
-        <!-- copy our known, pre-built, usually third party pre-reqs into this feature -->
-        <echo message="Current basedir during callback: ${basedir}" />
-        <echo message="Current destination.temp.folder during callback: ${destination.temp.folder}" />
-        <copy todir="${destination.temp.folder}"
-              overwrite="true">
-            <fileset dir="${env.BUILD_HOME}/prebuilt/eclipse/plugins/"
-                     includes="org.apache.commons_logging*/**" />
-        </copy>
-        <copy todir="${destination.temp.folder}"
-              overwrite="true">
-            <fileset dir="${env.BUILD_HOME}/prebuilt/eclipse/plugins/"
-                     includes="org.apache.jakarta_log4j*/**" />
-        </copy>
-        <copy todir="${destination.temp.folder}"
-              overwrite="true">
-            <fileset dir="${env.BUILD_HOME}/prebuilt/eclipse/plugins/"
-                     includes="org.apache.wsil4j*/**" />
-        </copy>
-        <copy todir="${destination.temp.folder}"
-              overwrite="true">
-            <fileset dir="${env.BUILD_HOME}/prebuilt/eclipse/plugins/"
-                     includes="org.uddi4j*/**" />
-        </copy>
-        <copy todir="${destination.temp.folder}"
-              overwrite="true">
-            <fileset dir="${env.BUILD_HOME}/prebuilt/eclipse/plugins/"
-                     includes="org.wsdl4j*/**" />
-        </copy>
-        <copy todir="${destination.temp.folder}"
-              overwrite="true">
-            <fileset dir="${env.BUILD_HOME}/prebuilt/eclipse/plugins/"
-                     includes="org.apache.axis*/**" />
-        </copy>
-
-
-    </target>
-
-    <!-- ===================================================================== -->
-    <!-- Steps to do after the target gather.bin.parts                         -->
-    <!-- Available parameters :                                                -->
-    <!--  destination.temp.folder - the directory plugins will be collected to -->
-    <!--  feature.directory - the directory containing the resulting feature   -->
-    <!-- ===================================================================== -->
-    <target name="post.gather.bin.parts">
-    </target>
-
-
-
-    <!-- ===================================================================== -->
-    <!-- No Default target                                                        -->
-    <!-- ===================================================================== -->
-    <target name="noDefault">
-        <echo message="This file must be called with explicit targets" />
-    </target>
-
-
-</project>
diff --git a/features/org.eclipse.wst.ws_core.feature/build.properties b/features/org.eclipse.wst.ws_core.feature/build.properties
index d80a54c..7f47694 100644
--- a/features/org.eclipse.wst.ws_core.feature/build.properties
+++ b/features/org.eclipse.wst.ws_core.feature/build.properties
@@ -3,4 +3,3 @@
                epl-v10.html,\
                license.html,\
                feature.properties
-customBuildCallbacks=addPreBuiltComponents.xml
diff --git a/features/org.eclipse.wst.ws_core.feature/feature.xml b/features/org.eclipse.wst.ws_core.feature/feature.xml
index de9690e..3f1f706 100644
--- a/features/org.eclipse.wst.ws_core.feature/feature.xml
+++ b/features/org.eclipse.wst.ws_core.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.ws_core.feature"
       label="%featureName"
-      version="1.6.0.qualifier"
+      version="1.5.4.qualifier"
       provider-name="%providerName">
 
    <description>
@@ -21,6 +21,21 @@
       <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
    </url>
 
+   <requires>
+      <import feature="org.apache.commons_logging.feature" version="1.0.4"/>
+      <import feature="org.apache.jakarta_log4j.feature" version="1.2.8"/>
+      <import feature="org.apache.axis.feature" version="1.2.1" match="greaterOrEqual"/>
+      <import feature="org.apache.wsil4j.feature" version="1.0.0" match="greaterOrEqual"/>
+      <import feature="org.uddi4j.feature" version="2.0.3" match="greaterOrEqual"/>
+      <import feature="org.wsdl4j.feature" version="1.4.0" match="greaterOrEqual"/>
+      <import feature="org.apache.xerces.feature" version="2.8.0" match="greaterOrEqual"/>
+      <import feature="org.eclipse.platform" version="3.2" match="equivalent"/>
+      <import feature="org.eclipse.emf" version="2.2" match="equivalent"/>
+      <import feature="org.eclipse.wst.common_core.feature" version="1.0.0" match="greaterOrEqual"/>
+      <import feature="org.eclipse.wst.server_core.feature" version="1.0.0" match="greaterOrEqual"/>
+      <import feature="org.eclipse.xsd" version="2.2" match="equivalent"/>
+   </requires>
+
    <plugin
          id="org.eclipse.wst.ws"
          download-size="0"
@@ -56,43 +71,4 @@
          version="0.0.0"
          unpack="false"/>
 
-   <!-- the following is not built, but depends on the addPreBuiltComponents.xml 
-   adding it to the plugins directory at the right point. The "pre-built" plugin is 
-   then added to zips and update jars. -->
-
-   <plugin
-         id="org.apache.commons_logging"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-   <plugin
-         id="org.apache.jakarta_log4j"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.apache.wsil4j"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-         
-   <plugin
-         id="org.uddi4j"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>         
-
-   <plugin
-         id="org.wsdl4j"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-         
-   <plugin
-         id="org.apache.axis"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>         
-
 </feature>
diff --git a/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/feature.xml
index 8fbe018..127cc21 100644
--- a/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/feature.xml
+++ b/features/org.eclipse.wst.ws_core.feature/sourceTemplateFeature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.ws_core.feature.source"
       label="%featureName"
-      version="1.6.0.qualifier"
+      version="1.5.3.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.wst.ws_sdk.feature/feature.xml b/features/org.eclipse.wst.ws_sdk.feature/feature.xml
index 70c1c00..ff5b860 100644
--- a/features/org.eclipse.wst.ws_sdk.feature/feature.xml
+++ b/features/org.eclipse.wst.ws_sdk.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.ws_sdk.feature"
       label="%featureName"
-      version="1.6.0.qualifier"
+      version="1.5.4.qualifier"
       provider-name="%providerName">
 
    <description>
@@ -20,10 +20,6 @@
    <url>
       <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
    </url>
- 
-   <includes
-         id="org.eclipse.wst.ws_ui.feature"
-         version="0.0.0"/>
 
    <includes
          id="org.eclipse.wst.ws_ui.feature.source"
diff --git a/features/org.eclipse.wst.ws_tests.feature/feature.xml b/features/org.eclipse.wst.ws_tests.feature/feature.xml
index b04a9d1..505bd4a 100644
--- a/features/org.eclipse.wst.ws_tests.feature/feature.xml
+++ b/features/org.eclipse.wst.ws_tests.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.ws_tests.feature"
       label="%featureName"
-      version="1.6.0.qualifier"
+      version="1.5.3.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/features/org.eclipse.wst.ws_ui.feature/feature.xml b/features/org.eclipse.wst.ws_ui.feature/feature.xml
index ea21b70..c025021 100644
--- a/features/org.eclipse.wst.ws_ui.feature/feature.xml
+++ b/features/org.eclipse.wst.ws_ui.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.ws_ui.feature"
       label="%featureName"
-      version="1.6.0.qualifier"
+      version="1.5.4.qualifier"
       provider-name="%providerName">
 
    <description>
@@ -29,6 +29,11 @@
          id="org.eclipse.wst.ws_core.feature"
          version="0.0.0"/>
 
+   <requires>
+      <import feature="org.eclipse.gef" version="3.2" match="equivalent"/>
+      <import feature="org.eclipse.wst.ws_core.feature" version="1.0.0" match="greaterOrEqual"/>
+   </requires>
+
    <plugin
          id="org.eclipse.wst.ws.infopop"
          download-size="0"
diff --git a/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/feature.xml
index b4a6843..2b1b158 100644
--- a/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/feature.xml
+++ b/features/org.eclipse.wst.ws_ui.feature/sourceTemplateFeature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.ws_ui.feature.source"
       label="%featureName"
-      version="1.6.0.qualifier"
+      version="1.5.4.qualifier"
       provider-name="%featureProvider">
 
    <description>
diff --git a/features/org.eclipse.wst.ws_userdoc.feature/feature.xml b/features/org.eclipse.wst.ws_userdoc.feature/feature.xml
index 6ab8e68..1a823bf 100644
--- a/features/org.eclipse.wst.ws_userdoc.feature/feature.xml
+++ b/features/org.eclipse.wst.ws_userdoc.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.ws_userdoc.feature"
       label="%featureName"
-      version="1.6.0.qualifier"
+      version="1.5.3.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/tests/org.eclipse.jst.ws.axis.consumption.core.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.ws.axis.consumption.core.tests/META-INF/MANIFEST.MF
index c2136cc..3069cd0 100644
--- a/tests/org.eclipse.jst.ws.axis.consumption.core.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.jst.ws.axis.consumption.core.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.axis.consumption.core.tests
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.0.0
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
 Require-Bundle: org.junit,
diff --git a/tests/org.eclipse.jst.ws.tests.performance/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.ws.tests.performance/META-INF/MANIFEST.MF
index 9ae7d03..54ca3a8 100644
--- a/tests/org.eclipse.jst.ws.tests.performance/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.jst.ws.tests.performance/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.jst.ws.tests.performance
-Bundle-Version: 1.0.100.qualifier
+Bundle-Version: 1.0.100
 Bundle-ClassPath: axisPerfmsr.jar
 Bundle-Activator: org.eclipse.jst.ws.tests.performance.plugin.PerformancePlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
diff --git a/tests/org.eclipse.jst.ws.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.ws.tests/META-INF/MANIFEST.MF
index 44b75f8..be20723 100644
--- a/tests/org.eclipse.jst.ws.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.jst.ws.tests/META-INF/MANIFEST.MF
@@ -1,8 +1,8 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
-Bundle-SymbolicName: org.eclipse.jst.ws.tests
-Bundle-Version: 1.0.100.qualifier
+Bundle-SymbolicName: org.eclipse.jst.ws.tests;singleton:=true
+Bundle-Version: 1.0.101
 Bundle-ClassPath: tests.jar
 Bundle-Activator: org.eclipse.jst.ws.tests.plugin.TestsPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
@@ -38,5 +38,7 @@
  org.eclipse.jdt.launching,
  org.eclipse.jdt.debug.ui,
  org.eclipse.jst.server.tomcat.core,
- org.eclipse.wst.common.project.facet.core
+ org.eclipse.wst.common.project.facet.core,
+ org.eclipse.wst.ws.explorer,
+ org.eclipse.wst.wsdl
 Eclipse-LazyStart: true
diff --git a/tests/org.eclipse.jst.ws.tests/plugin.properties b/tests/org.eclipse.jst.ws.tests/plugin.properties
index 6f05835..7e39471 100644
--- a/tests/org.eclipse.jst.ws.tests/plugin.properties
+++ b/tests/org.eclipse.jst.ws.tests/plugin.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
+# Copyright (c) 2006, 2007 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -10,6 +10,7 @@
 # yyyymmdd bug      Email and other contact information
 # -------- -------- -----------------------------------------------------------
 # 20060424   138060 kathy@ca.ibm.com - Kathy Chan
+# 20070327   172339 kathy@ca.ibm.com - Kathy Chan
 ###############################################################################
 
 #
@@ -17,3 +18,8 @@
 #
 PLUGIN_NAME=Java Web Services Tools Tests
 PLUGIN_PROVIDER=Eclipse.org
+
+POPUP_TEST_WSDL=Test with Web Services Explorer
+ACTION_GENERATE_JAVA_SKELETON=Generate Java bean skeleton
+ACTION_GENERATE_JAVA_PROXY=Generate Client
+
diff --git a/tests/org.eclipse.jst.ws.tests/plugin.xml b/tests/org.eclipse.jst.ws.tests/plugin.xml
index 7bf65fb..735383e 100644
--- a/tests/org.eclipse.jst.ws.tests/plugin.xml
+++ b/tests/org.eclipse.jst.ws.tests/plugin.xml
@@ -2,5 +2,82 @@
 <?eclipse version="3.0"?>
 <plugin>
 
+<!-- New popup extenstion to enables "Generate skeleton", "Generate Proxy" and "Test with Web Services Explorer" on the 
+ServletLink object.  This is the object under the JSR-109 Web Services branch of the J2EE Project Explorer:
+
+JSR-109 Web Services 
+  Clients
+  Services
+     EchoService
+        Handlers
+        Service Classes
+           ServiceImpl: echo_Echo       <==== This is the ServletLink
+  
+  When ServletLink is selected, "Generate Proxy" and "Test with Web Services Explorer" would select the correct WSDL 
+  when the popup is initialized.
+  
+  Note that with bug 179751, we'll have to comment out the TODO for 179751 in TypeSelectionFilter2.java in order 
+  for "Generate skeleton" popup on ServletLink to select top-down on the selected WSDL.  ServletLink would either
+  always be recognized as selecting bottom-up or selecting top-down.
+-->
+	  <extension
+         point="org.eclipse.ui.popupMenus">
+        
+         <objectContribution
+            objectClass="org.eclipse.jst.j2ee.webservice.wsdd.ServletLink"
+            nameFilter="*"
+            id="org.eclipse.jst.ws.creation.ui.wizard.serverwizard.java">
+         <action
+               label="%ACTION_GENERATE_JAVA_SKELETON"
+               class="org.eclipse.wst.command.internal.env.ui.widgets.popup.DynamicPopupWizard"
+               menubarPath="additions"
+               id="org.eclipse.jst.ws.creation.ui.wizard.serverwizard">
+         </action>
+      </objectContribution>
+         
+      <objectContribution
+            objectClass="org.eclipse.jst.j2ee.webservice.wsdd.ServletLink"
+            nameFilter="*"
+            id="org.eclipse.jst.ws.internal.consumption.ui.wizard.client.clientwizard">
+         <action
+               label="%ACTION_GENERATE_JAVA_PROXY"
+               class="org.eclipse.wst.command.internal.env.ui.widgets.popup.DynamicPopupWizard"
+               menubarPath="additions"
+               id="org.eclipse.jst.ws.internal.consumption.ui.wizard.client.clientwizard">
+         </action>
+      </objectContribution>
+
+      <objectContribution
+            objectClass="org.eclipse.jst.j2ee.webservice.wsdd.ServletLink"
+            nameFilter="*"
+            id="org.eclipse.jst.ws.internal.consumption.ui.action.WSDLFileMenu">
+         <action
+               label="%POPUP_TEST_WSDL"
+               class="org.eclipse.wst.ws.internal.explorer.popup.PopupTestWSDL"
+               menubarPath="additions"
+               id="org.eclipse.wst.ws.internal.explorer.popup.PopupTestWSDL">
+         </action>
+      </objectContribution>
+    
+      </extension>
+
+<!-- Defines the WSCustomAdapterFactory as extension to the adapters framework to adapt ServletLink to IFile -->
+
+<extension point="org.eclipse.core.runtime.adapters">
+         <factory 
+            class="org.eclipse.jst.ws.tests.util.WSCustomAdapterFactory" 
+            adaptableType="org.eclipse.jst.j2ee.webservice.wsdd.ServletLink">
+            <adapter type="org.eclipse.core.resources.IFile"/>
+         </factory>
+      </extension>
+
+<!-- Defines the WSCustomAdapterFactory as extension to the adapters framework to adapt ServletLink to String -->
+      <extension point="org.eclipse.core.runtime.adapters">
+         <factory 
+            class="org.eclipse.jst.ws.tests.util.WSCustomAdapterFactory" 
+            adaptableType="org.eclipse.jst.j2ee.webservice.wsdd.ServletLink">
+            <adapter type="java.lang.String"/>
+         </factory>
+      </extension>  
     
 </plugin>
diff --git a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/AllWSJUnitTests.java b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/AllWSJUnitTests.java
index 4e5438c..4b56ef3 100644
--- a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/AllWSJUnitTests.java
+++ b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/AllWSJUnitTests.java
@@ -77,7 +77,7 @@
     String s = System.getProperty("org.eclipse.jst.server.tomcat.50");
     if (s != null && s.length() > 0) {
       testSuite.addTest( ServerCreationTests.suite());
-      testSuite.addTest( BUJavaAxisTC50.suite() );
+      //testSuite.addTest( BUJavaAxisTC50.suite() );
       testSuite.addTest( TDJavaAxisTC50.suite() );
       testSuite.addTest( ClientAxisTC50.suite() );
 
diff --git a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/BUJavaAxisTC50.java b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/BUJavaAxisTC50.java
index d5e357d..fd746d0 100644
--- a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/BUJavaAxisTC50.java
+++ b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/BUJavaAxisTC50.java
@@ -9,7 +9,8 @@
  * IBM Corporation - initial API and implementation
  * yyyymmdd bug      Email and other contact information
  * -------- -------- -----------------------------------------------------------
- * 2007104   114835 sengpl@ca.ibm.com - Seng Phung-Lu
+ * 20070104   114835 sengpl@ca.ibm.com - Seng Phung-Lu
+ * 20070202   172615 sengpl@ca.ibm.com - Seng Phung-Lu
  *******************************************************************************/
 package org.eclipse.jst.ws.tests.unittest;
 
@@ -118,6 +119,7 @@
 	  	IStatus status = Status.OK_STATUS;
 	    IProject webProject = ProjectUtilities.getProject(PROJECT_NAME);
 	    JUnitUtils.disableWSIDialog(webProject);
+	    JUnitUtils.setBUScenarioDefaults();
 
 	    status = JUnitUtils.launchCreationWizard(ScenarioConstants.WIZARDID_BOTTOM_UP,ScenarioConstants.OBJECT_CLASS_ID_IFILE,initialSelection_);
 
diff --git a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/TDJavaAxisTC50.java b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/TDJavaAxisTC50.java
index 936c6c6..f8bbe91 100644
--- a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/TDJavaAxisTC50.java
+++ b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/unittest/TDJavaAxisTC50.java
@@ -9,7 +9,8 @@
  * IBM Corporation - initial API and implementation
  * yyyymmdd bug      Email and other contact information
  * -------- -------- -----------------------------------------------------------
- * 2007104   114835 sengpl@ca.ibm.com - Seng Phung-Lu
+ * 20070104   114835 sengpl@ca.ibm.com - Seng Phung-Lu
+ * 20070202   172615 sengpl@ca.ibm.com - Seng Phung-Lu
  *******************************************************************************/
 package org.eclipse.jst.ws.tests.unittest;
 
@@ -106,9 +107,10 @@
 	public void testTDJavaAxisTC50() throws Exception {
 	  
 	  IStatus status = Status.OK_STATUS;
+	  JUnitUtils.setTDScenarioDefaults();
 
 	  status = JUnitUtils.launchCreationWizard(ScenarioConstants.WIZARDID_TOP_DOWN,ScenarioConstants.OBJECT_CLASS_ID_IFILE,initialSelection_);
-
+	  
 		if (status.getSeverity() == Status.OK)
 		  verifyOutput();
 		else {
diff --git a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/util/JUnitUtils.java b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/util/JUnitUtils.java
index 287e6c4..318c5a5 100644
--- a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/util/JUnitUtils.java
+++ b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/util/JUnitUtils.java
@@ -9,7 +9,8 @@
  * IBM Corporation - initial API and implementation
  * yyyymmdd bug      Email and other contact information
  * -------- -------- -----------------------------------------------------------
- * 2007104   114835 sengpl@ca.ibm.com - Seng Phung-Lu
+ * 20070104   114835 sengpl@ca.ibm.com - Seng Phung-Lu
+ * 20070202   172615 sengpl@ca.ibm.com - Seng Phung-Lu
  *******************************************************************************/
 package org.eclipse.jst.ws.tests.util;
 
@@ -351,4 +352,24 @@
 	  
 	}
 	
+	public static void setBUScenarioDefaults(){
+		ScenarioContext context = WebServicePlugin.getInstance().getScenarioContext();
+		context.setGenerateWebService(ScenarioContext.WS_ASSEMBLE);
+		
+		context.setGenerateProxy(false);
+		context.setInstallWebService(false);
+		context.setStartWebService(false);
+		context.setTestWebService(false);
+		
+	}
+	
+	public static void setTDScenarioDefaults(){
+		ScenarioContext context = WebServicePlugin.getInstance().getScenarioContext();
+		context.setGenerateWebService(ScenarioContext.WS_ASSEMBLE);
+		
+		context.setGenerateProxy(false);
+		context.setInstallWebService(false);
+		context.setStartWebService(false);
+		context.setTestWebService(false);
+	}
 }
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/util/WSCustomAdapterFactory.java b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/util/WSCustomAdapterFactory.java
new file mode 100644
index 0000000..1ab84ea
--- /dev/null
+++ b/tests/org.eclipse.jst.ws.tests/tests/org/eclipse/jst/ws/tests/util/WSCustomAdapterFactory.java
@@ -0,0 +1,115 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ * yyyymmdd bug      Email and other contact information
+ * -------- -------- -----------------------------------------------------------
+ * 20070327   172339 kathy@ca.ibm.com - Kathy Chan
+ *******************************************************************************/
+package org.eclipse.jst.ws.tests.util;
+
+import java.net.URI;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
+import org.eclipse.jst.j2ee.webservice.wsdd.ServletLink;
+import org.eclipse.jst.j2ee.webservice.wsdd.ServiceImplBean;
+import org.eclipse.jst.j2ee.webservice.wsdd.WebServiceDescription;
+import org.eclipse.jst.ws.internal.common.J2EEUtils;
+import org.eclipse.jst.ws.internal.common.ResourceUtils;
+
+/**
+ * The WSCustomAdapterFactory is an AdapterFactory similar to one an adopter would provide to adapt a custom object 
+ * to a WSDL uri that the Web services wizards and the Web Services Explorer would take as input.  The Servlet Link, 
+ * representing the service implementation under the JSR-109 Web services branch of the J2EE Project Explorer, is 
+ * used as the "custom object" in this test.
+ *
+ */
+public class WSCustomAdapterFactory implements IAdapterFactory {
+
+	private static final Class[] types = {
+		IFile.class, String.class
+	};
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
+	 */
+	public Object getAdapter(Object adaptableObject, Class adapterType) {
+		if (adaptableObject instanceof ServletLink && ((adapterType == IFile.class ) || (adapterType == String.class))) {
+			System.out.println("getAdapter on "+adaptableObject.toString());
+			ServletLink beanLink = (ServletLink) adaptableObject;
+
+			IFile wsdlFile = getWSDLFile(beanLink);
+			System.out.println("wsdlFile = "+wsdlFile);
+			if (adapterType == IFile.class) {
+				return wsdlFile;
+			} else 
+				if (adapterType == String.class) {
+					URI wsdlUri = wsdlFile.getLocationURI();
+					String wsdlFileString = null;
+					if (wsdlUri != null) {
+						wsdlFileString = wsdlUri.toString();
+						System.out.println("wsdlFileString = "+wsdlFileString);
+					}
+					return wsdlFileString;
+				} else {
+					return null;
+				}
+		}
+		else {
+			return null;
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
+	 */
+	public Class[] getAdapterList() {
+		return types;
+	}
+	
+	/**
+	 * @param bean The ServiceImplBean
+	 * @return The IFile representing the WSDL file for this ServiceImplBean.
+	 */
+	private IFile getWSDLFile(ServiceImplBean bean) {
+		  EObject eObject = bean.eContainer();
+		  if (eObject == null)
+			  return null;
+	          
+		  eObject = eObject.eContainer();
+	      
+		  if (eObject instanceof WebServiceDescription) {
+			  WebServiceDescription wsd = (WebServiceDescription) eObject;
+			  
+			  IProject project = ProjectUtilities.getProject(wsd);    	  
+	    	  
+			  IPath path = J2EEUtils.getWebContentPath(project);    	 
+			  path = path.append(wsd.getWsdlFile()); 
+			  return ResourceUtils.getWorkspaceRoot().getFile(path); 	  
+			      	    
+		  }
+		  return null;
+	  }
+	  
+	  /**
+	 * @param link The ServletLink
+	 * @return The IFile representing the WSDL file for this ServletLink
+	 */
+	private IFile getWSDLFile(ServletLink link) {
+		  EObject eObject = link.eContainer();
+		  if (eObject instanceof ServiceImplBean)
+			  return getWSDLFile((ServiceImplBean) eObject);
+		  return null;
+	  }
+
+}
diff --git a/tests/org.eclipse.wst.ws.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.ws.tests/META-INF/MANIFEST.MF
index 620c2fd..b415c40 100644
--- a/tests/org.eclipse.wst.ws.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.ws.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.wst.ws.tests
-Bundle-Version: 1.0.100.qualifier
+Bundle-Version: 1.0.100
 Bundle-Activator: org.eclipse.wst.ws.tests.plugin.TestsPlugin
 Bundle-Vendor: %PLUGIN_PROVIDER
 Bundle-Localization: plugin
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/.classpath b/tests/org.eclipse.wst.wsdl.tests.performance/.classpath
index ce61870..a7b49e4 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/.classpath
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/.classpath
@@ -2,6 +2,13 @@
 <classpath>
 	<classpathentry kind="src" path="performance"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
+		<accessrules>
+			<accessrule kind="accessible" pattern="org/eclipse/wst/wsdl/**"/>
+			<accessrule kind="accessible" pattern="org/eclipse/wst/ws/internal/preferences/PersistentWSIContext"/>
+			<accessrule kind="accessible" pattern="org/eclipse/wst/ws/internal/plugin/WSPlugin"/>
+			<accessrule kind="accessible" pattern="org/eclipse/wst/validation/internal/**"/>
+		</accessrules>
+	</classpathentry>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.wsdl.tests.performance/META-INF/MANIFEST.MF
index fb07e00..1d9c3f0 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/META-INF/MANIFEST.MF
@@ -1,6 +1,6 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: WSDL Performance Plug-in
+Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.wsdl.tests.performance
 Bundle-Version: 1.0.1
 Bundle-ClassPath: performance.jar
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/AllTests.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/AllTests.java
index ffb64a0..c8b9dcb 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/AllTests.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/AllTests.java
@@ -11,6 +11,8 @@
 
 package org.eclipse.wst.wsdl.tests.performance;
 
+import org.eclipse.wst.wsdl.tests.performance.scalability.WSDLScalabilityTests;
+
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -21,11 +23,12 @@
     TestSuite suite = new TestSuite("Test for org.eclipse.wst.wsdl.tests.performance");
     //$JUnit-BEGIN$
     suite.addTestSuite(ReadStockQuoteWSDLTestCase.class);
-	suite.addTestSuite(ReadStockQuoteWSDLEMFTestCase.class);
-	suite.addTestSuite(ValidateStockQuoteWSDLTestCase.class);
+    suite.addTestSuite(ReadStockQuoteWSDLEMFTestCase.class);
+    suite.addTestSuite(ValidateStockQuoteWSDLTestCase.class);
     suite.addTestSuite(ValidateStockQuoteWSITestCase.class);
     suite.addTestSuite(OpenStockQuoteWSDLSetup.class);
     suite.addTestSuite(OpenStockQuoteWSDLTestCase.class);
+    suite.addTest(WSDLScalabilityTests.suite());
     //$JUnit-END$
     return suite;
   }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ReadStockQuoteWSDLEMFTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ReadStockQuoteWSDLEMFTestCase.java
index 7067c70..25f6869 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ReadStockQuoteWSDLEMFTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ReadStockQuoteWSDLEMFTestCase.java
@@ -45,6 +45,7 @@
     map.put(WSDLResourceImpl.USE_EXTENSION_FACTORIES,Boolean.valueOf(true));
 	resource.load(map); 
 	Definition definition = resource.getDefinition();
+	definition.getQName();
 	
 	stopMeasuring();
 	commitMeasurements();
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ReadStockQuoteWSDLTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ReadStockQuoteWSDLTestCase.java
index 532caaf..e471885 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ReadStockQuoteWSDLTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ReadStockQuoteWSDLTestCase.java
@@ -37,6 +37,7 @@
     WSDLFactoryImpl factory = new WSDLFactoryImpl();
     WSDLReader reader = factory.newWSDLReader();
     Definition definition = reader.readWSDL(wsdl.toString(), new InputSource(wsdl.openStream()));
+    definition.getQName();
     stopMeasuring();
 	commitMeasurements();
 	assertPerformance();
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateOAGISWSDLTestcase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateOAGISWSDLTestcase.java
index b8d2e2f..65f229a 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateOAGISWSDLTestcase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateOAGISWSDLTestcase.java
@@ -23,7 +23,6 @@
 import org.eclipse.test.performance.PerformanceTestCase;
 import org.eclipse.wst.ws.internal.plugin.WSPlugin;
 import org.eclipse.wst.ws.internal.preferences.PersistentWSIContext;
-import org.eclipse.wst.wsdl.validation.internal.IValidationReport;
 import org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLValidator;
 
 
@@ -79,6 +78,6 @@
 
   private void validateWSDL(String location) throws WSDLException
   {
-    IValidationReport valreport = validator.validate(location);
+    validator.validate(location);
   }
 }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateOAGISWSITestcase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateOAGISWSITestcase.java
index 1c5dbf8..9bc924e 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateOAGISWSITestcase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateOAGISWSITestcase.java
@@ -23,7 +23,6 @@
 import org.eclipse.test.performance.PerformanceTestCase;
 import org.eclipse.wst.ws.internal.plugin.WSPlugin;
 import org.eclipse.wst.ws.internal.preferences.PersistentWSIContext;
-import org.eclipse.wst.wsdl.validation.internal.IValidationReport;
 import org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLValidator;
 
 public class ValidateOAGISWSITestcase extends PerformanceTestCase
@@ -78,6 +77,6 @@
 
   private void validateWSDL(String location) throws WSDLException
   {
-    IValidationReport valreport = validator.validate(location);
+    validator.validate(location);
   }
 }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateStockQuoteWSDLTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateStockQuoteWSDLTestCase.java
index 76e34a8..4269bd3 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateStockQuoteWSDLTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateStockQuoteWSDLTestCase.java
@@ -19,7 +19,6 @@
 import org.eclipse.test.performance.PerformanceTestCase;
 import org.eclipse.wst.ws.internal.plugin.WSPlugin;
 import org.eclipse.wst.ws.internal.preferences.PersistentWSIContext;
-import org.eclipse.wst.wsdl.validation.internal.IValidationReport;
 import org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLValidator;
 
 public class ValidateStockQuoteWSDLTestCase extends PerformanceTestCase
@@ -47,14 +46,14 @@
   
   public void testValidateStockQuoteWSDL() throws Exception
   {
-	validator = WSDLValidator.getInstance();
+    validator = WSDLValidator.getInstance();
     URL wsdl = PerformancePlugin.getDefault().getBundle().getEntry("data/StockQuote/StockQuote.wsdl");
     String path = wsdl.toString();
-	
+
     startMeasuring();
-    IValidationReport valreport = validator.validate(path);
-	stopMeasuring();
-	commitMeasurements();
-	assertPerformance();
+    validator.validate(path);
+    stopMeasuring();
+    commitMeasurements();
+    assertPerformance();
   }
 }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateStockQuoteWSITestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateStockQuoteWSITestCase.java
index 01cc307..49c7ca8 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateStockQuoteWSITestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/ValidateStockQuoteWSITestCase.java
@@ -19,7 +19,6 @@
 import org.eclipse.test.performance.PerformanceTestCase;
 import org.eclipse.wst.ws.internal.plugin.WSPlugin;
 import org.eclipse.wst.ws.internal.preferences.PersistentWSIContext;
-import org.eclipse.wst.wsdl.validation.internal.IValidationReport;
 import org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLValidator;
 
 public class ValidateStockQuoteWSITestCase extends PerformanceTestCase
@@ -47,14 +46,14 @@
   
   public void testValidateStockQuoteWSI() throws Exception
   {
-	validator = WSDLValidator.getInstance();
+    validator = WSDLValidator.getInstance();
     URL wsdl = PerformancePlugin.getDefault().getBundle().getEntry("data/StockQuote/StockQuote.wsdl");
     String path = wsdl.toString();
-	
+
     startMeasuring();	
-    IValidationReport valreport = validator.validate(path);
-	stopMeasuring();
-	commitMeasurements();
-	assertPerformance();
+    validator.validate(path);
+    stopMeasuring();
+    commitMeasurements();
+    assertPerformance();
   }
 }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open100KBFileTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open100KBFileTestCase.java
index e6baf2c..036c115 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open100KBFileTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open100KBFileTestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open10KBFileTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open10KBFileTestCase.java
index 26a0f7d..bf2bfa0 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open10KBFileTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open10KBFileTestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open1KBFileTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open1KBFileTestCase.java
index fdd8ec6..76c6d42 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open1KBFileTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open1KBFileTestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open1MBFileTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open1MBFileTestCase.java
index 338b5a8..0fbc327 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open1MBFileTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open1MBFileTestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open200KBFileTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open200KBFileTestCase.java
index 1f004e2..fb2e0e7 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open200KBFileTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open200KBFileTestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open500KBFileTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open500KBFileTestCase.java
index a9f64f0..0244ca5 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open500KBFileTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Open500KBFileTestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx100TestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx100TestCase.java
index 2ac9964..567fdf8 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx100TestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx100TestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx10TestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx10TestCase.java
index e2d27a5..c87a719 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx10TestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx10TestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx1TestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx1TestCase.java
index dac33d7..82f01a6 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx1TestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx1TestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx25TestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx25TestCase.java
index fb10251..74234d2 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx25TestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx25TestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx50TestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx50TestCase.java
index 4a041d4..1586da1 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx50TestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx50TestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx75TestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx75TestCase.java
index 8eb4800..fe84cf7 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx75TestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatOpenEditorx75TestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex100TestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex100TestCase.java
index 5d40275..004713e 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex100TestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex100TestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex10TestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex10TestCase.java
index 3efaadf..d2ae35e 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex10TestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex10TestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex1TestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex1TestCase.java
index 143d103..0863015 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex1TestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex1TestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex25TestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex25TestCase.java
index 68e464d..ce4714b 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex25TestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex25TestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex50TestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex50TestCase.java
index 771326b..bb88f55 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex50TestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex50TestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex75TestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex75TestCase.java
index ce69bd9..cb81409 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex75TestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/RepeatValidatex75TestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1000WSDLsCrossDependsTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1000WSDLsCrossDependsTestCase.java
index 63a9414..16756b6 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1000WSDLsCrossDependsTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1000WSDLsCrossDependsTestCase.java
@@ -41,7 +41,7 @@
 	    {
 	      super.execute();
 	    }
-	    catch (Throwable t)
+	    catch (Exception t)
 	    {
 	      fail(t.getMessage());
 	    }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1000WSDLsNoDependsTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1000WSDLsNoDependsTestCase.java
index 4fb7027..b97f024 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1000WSDLsNoDependsTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1000WSDLsNoDependsTestCase.java
@@ -41,7 +41,7 @@
 	    {
 	      super.execute();
 	    }
-	    catch (Throwable t)
+	    catch (Exception t)
 	    {
 	      fail(t.getMessage());
 	    }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1000WSDLsXSDDependsTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1000WSDLsXSDDependsTestCase.java
index 6577094..ef11f70 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1000WSDLsXSDDependsTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1000WSDLsXSDDependsTestCase.java
@@ -41,7 +41,7 @@
 	    {
 	      super.execute();
 	    }
-	    catch (Throwable t)
+	    catch (Exception t)
 	    {
 	      fail(t.getMessage());
 	    }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100KBFileTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100KBFileTestCase.java
index 5d178e1..e0e88a4 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100KBFileTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100KBFileTestCase.java
@@ -25,7 +25,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100WSDLsCrossDependsTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100WSDLsCrossDependsTestCase.java
index b4cb17e..b93312d 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100WSDLsCrossDependsTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100WSDLsCrossDependsTestCase.java
@@ -41,7 +41,7 @@
 	    {
 	      super.execute();
 	    }
-	    catch (Throwable t)
+	    catch (Exception t)
 	    {
 	      fail(t.getMessage());
 	    }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100WSDLsNoDependsTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100WSDLsNoDependsTestCase.java
index 161a02d..f365ecd 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100WSDLsNoDependsTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100WSDLsNoDependsTestCase.java
@@ -41,7 +41,7 @@
 	    {
 	      super.execute();
 	    }
-	    catch (Throwable t)
+	    catch (Exception t)
 	    {
 	      fail(t.getMessage());
 	    }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100WSDLsXSDDependsTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100WSDLsXSDDependsTestCase.java
index 59d2f5d..1728960 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100WSDLsXSDDependsTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate100WSDLsXSDDependsTestCase.java
@@ -41,7 +41,7 @@
 	    {
 	      super.execute();
 	    }
-	    catch (Throwable t)
+	    catch (Exception t)
 	    {
 	      fail(t.getMessage());
 	    }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10KBFileTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10KBFileTestCase.java
index ff2d260..6f14239 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10KBFileTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10KBFileTestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10WSDLsCrossDependsTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10WSDLsCrossDependsTestCase.java
index 7b1d0d1..93d57bc 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10WSDLsCrossDependsTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10WSDLsCrossDependsTestCase.java
@@ -41,7 +41,7 @@
 	    {
 	      super.execute();
 	    }
-	    catch (Throwable t)
+	    catch (Exception t)
 	    {
 	      fail(t.getMessage());
 	    }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10WSDLsNoDependsTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10WSDLsNoDependsTestCase.java
index ba247d5..2f82588 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10WSDLsNoDependsTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10WSDLsNoDependsTestCase.java
@@ -41,7 +41,7 @@
 	    {
 	      super.execute();
 	    }
-	    catch (Throwable t)
+	    catch (Exception t)
 	    {
 	      fail(t.getMessage());
 	    }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10WSDLsXSDDependsTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10WSDLsXSDDependsTestCase.java
index 6096b94..4992fe1 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10WSDLsXSDDependsTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate10WSDLsXSDDependsTestCase.java
@@ -41,7 +41,7 @@
 	    {
 	      super.execute();
 	    }
-	    catch (Throwable t)
+	    catch (Exception t)
 	    {
 	      fail(t.getMessage());
 	    }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1KBFileTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1KBFileTestCase.java
index faa80ae..75d934d 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1KBFileTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1KBFileTestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1MBFileTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1MBFileTestCase.java
index aa44c08..d326cfa 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1MBFileTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate1MBFileTestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate200KBFileTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate200KBFileTestCase.java
index 96f4337..58c16bb 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate200KBFileTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate200KBFileTestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate500KBFileTestCase.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate500KBFileTestCase.java
index bb55ba0..7262cf1 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate500KBFileTestCase.java
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/Validate500KBFileTestCase.java
@@ -24,7 +24,7 @@
     {
       super.execute();
     }
-    catch (Throwable t)
+    catch (Exception t)
     {
       fail(t.getMessage());
     }
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/WSDLScalabilityTests.java b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/WSDLScalabilityTests.java
new file mode 100644
index 0000000..9267a9e
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/performance/org/eclipse/wst/wsdl/tests/performance/scalability/WSDLScalabilityTests.java
@@ -0,0 +1,61 @@
+/**********************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved.   This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+  *
+ * Contributors:
+ *    IBM - Initial API and implementation
+ **********************************************************************/
+
+package org.eclipse.wst.wsdl.tests.performance.scalability;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+public class WSDLScalabilityTests
+{
+
+  public static Test suite()
+  {
+    TestSuite suite = new TestSuite("Test for org.eclipse.wst.wsdl.tests.performance.scalability");
+    //$JUnit-BEGIN$
+    suite.addTestSuite(RepeatValidatex75TestCase.class);
+    suite.addTestSuite(RepeatOpenEditorx25TestCase.class);
+    suite.addTestSuite(RepeatOpenEditorx1TestCase.class);
+    suite.addTestSuite(RepeatOpenEditorx100TestCase.class);
+    suite.addTestSuite(RepeatOpenEditorx50TestCase.class);
+    suite.addTestSuite(RepeatOpenEditorx10TestCase.class);
+    suite.addTestSuite(Open200KBFileTestCase.class);
+//    suite.addTestSuite(Validate1000WSDLsCrossDependsTestCase.class);
+    suite.addTestSuite(Validate10WSDLsCrossDependsTestCase.class);
+    suite.addTestSuite(Validate100WSDLsCrossDependsTestCase.class);
+    suite.addTestSuite(Validate200KBFileTestCase.class);
+    suite.addTestSuite(RepeatValidatex100TestCase.class);
+    suite.addTestSuite(RepeatValidatex1TestCase.class);
+    suite.addTestSuite(RepeatValidatex25TestCase.class);
+    suite.addTestSuite(RepeatValidatex50TestCase.class);
+    suite.addTestSuite(RepeatValidatex10TestCase.class);
+    suite.addTestSuite(Validate100WSDLsXSDDependsTestCase.class);
+    suite.addTestSuite(Validate10WSDLsXSDDependsTestCase.class);
+    suite.addTestSuite(Validate1MBFileTestCase.class);
+    suite.addTestSuite(RepeatOpenEditorx75TestCase.class);
+    suite.addTestSuite(Open1MBFileTestCase.class);
+    suite.addTestSuite(Open10KBFileTestCase.class);
+    suite.addTestSuite(Open1KBFileTestCase.class);
+    suite.addTestSuite(Open100KBFileTestCase.class);
+    suite.addTestSuite(Open500KBFileTestCase.class);
+    suite.addTestSuite(Validate100WSDLsNoDependsTestCase.class);
+    suite.addTestSuite(Validate500KBFileTestCase.class);
+    suite.addTestSuite(Validate100KBFileTestCase.class);
+    suite.addTestSuite(Validate1KBFileTestCase.class);
+//    suite.addTestSuite(Validate1000WSDLsNoDependsTestCase.class);
+    suite.addTestSuite(Validate10WSDLsNoDependsTestCase.class);
+    suite.addTestSuite(Validate10KBFileTestCase.class);
+//    suite.addTestSuite(Validate1000WSDLsXSDDependsTestCase.class);
+    //$JUnit-END$
+    return suite;
+  }
+
+}
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/plugin.properties b/tests/org.eclipse.wst.wsdl.tests.performance/plugin.properties
new file mode 100644
index 0000000..b10bb9b
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/plugin.properties
@@ -0,0 +1,2 @@
+# properties file for org.eclipse.wst.wsdl.tests.performance
+Bundle-Name.0 = WSDL Performance Plug-in
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.wsdl.tests.performance/test.xml b/tests/org.eclipse.wst.wsdl.tests.performance/test.xml
index c125820..603ef44 100644
--- a/tests/org.eclipse.wst.wsdl.tests.performance/test.xml
+++ b/tests/org.eclipse.wst.wsdl.tests.performance/test.xml
@@ -171,11 +171,11 @@
   	<antcall target="Validate10WSDLsXSDDependsTestCase"/>
   	<antcall target="Validate10WSDLsXSDDependsTestCase"/>
   	<antcall target="Validate10WSDLsXSDDependsTestCase"/>
-  	
+<!--  	
   	<antcall target="Validate1000WSDLsCrossDependsTestCase"/>
   	<antcall target="Validate1000WSDLsCrossDependsTestCase"/>
   	<antcall target="Validate1000WSDLsCrossDependsTestCase"/>
- 	
+--> 	
   	<antcall target="Validate100WSDLsCrossDependsTestCase"/>
   	<antcall target="Validate100WSDLsCrossDependsTestCase"/>
   	<antcall target="Validate100WSDLsCrossDependsTestCase"/>
diff --git a/tests/org.eclipse.wst.wsdl.tests/.classpath b/tests/org.eclipse.wst.wsdl.tests/.classpath
index 751c8f2..ce73933 100644
--- a/tests/org.eclipse.wst.wsdl.tests/.classpath
+++ b/tests/org.eclipse.wst.wsdl.tests/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/tests/org.eclipse.wst.wsdl.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.wst.wsdl.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..cad3c2d
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+#Sun Apr 15 02:42:23 EDT 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.source=1.3
diff --git a/tests/org.eclipse.wst.wsdl.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.wsdl.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..18fd746
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: WSDL JUnit Test
+Bundle-SymbolicName: org.eclipse.wst.wsdl.tests
+Bundle-Version: 1.0.1
+Bundle-ClassPath: wsdl.tests.jar
+Bundle-Activator: org.eclipse.wst.wsdl.tests.WSDLTestsPlugin
+Bundle-Localization: plugin
+Export-Package: org.eclipse.wst.wsdl.tests,
+ org.eclipse.wst.wsdl.tests.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.wst.wsdl,
+ org.eclipse.emf.ecore,
+ org.eclipse.xsd,
+ org.eclipse.core.resources,
+ org.junit,
+ org.wsdl4j,
+ org.eclipse.wst.common.uriresolver,
+ org.apache.xerces
+Eclipse-LazyStart: true
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/tests/org.eclipse.wst.wsdl.tests/build.properties b/tests/org.eclipse.wst.wsdl.tests/build.properties
index 32ee244..d2091d9 100644
--- a/tests/org.eclipse.wst.wsdl.tests/build.properties
+++ b/tests/org.eclipse.wst.wsdl.tests/build.properties
@@ -2,6 +2,7 @@
                test.xml,\
                wsdl.tests.jar,\
                samples/,\
-               about.html
+               about.html,\
+               META-INF/
 source.wsdl.tests.jar = src/
-javacWarnings.wsdl.tests.jar=-discouraged
\ No newline at end of file
+javacWarnings.wsdl.tests.jar=-discouraged
diff --git a/tests/org.eclipse.wst.wsdl.tests/plugin.xml b/tests/org.eclipse.wst.wsdl.tests/plugin.xml
index b1d9ed6..7bf65fb 100644
--- a/tests/org.eclipse.wst.wsdl.tests/plugin.xml
+++ b/tests/org.eclipse.wst.wsdl.tests/plugin.xml
@@ -1,26 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.wsdl.tests"
-   name="WSDL JUnit Test"
-   version="1.0.1"
-   class="org.eclipse.wst.wsdl.tests.WSDLTestsPlugin">
+<plugin>
 
-   <runtime>
-      <library name="wsdl.tests.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.wst.wsdl"/>
-      <import plugin="org.eclipse.emf.ecore"/>
-      <import plugin="org.eclipse.xsd"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.junit"/>
-      <import plugin="org.wsdl4j"/>
-      <import plugin="org.eclipse.wst.common.uriresolver"/>
-   </requires>
-
+    
 </plugin>
diff --git a/tests/org.eclipse.wst.wsdl.tests/samples/BugFixes/NullNamespaceURI/Confirmation.xsd b/tests/org.eclipse.wst.wsdl.tests/samples/BugFixes/NullNamespaceURI/Confirmation.xsd
new file mode 100644
index 0000000..6340877
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests/samples/BugFixes/NullNamespaceURI/Confirmation.xsd
Binary files differ
diff --git a/tests/org.eclipse.wst.wsdl.tests/samples/BugFixes/NullNamespaceURI/ContactInfo.xsd b/tests/org.eclipse.wst.wsdl.tests/samples/BugFixes/NullNamespaceURI/ContactInfo.xsd
new file mode 100644
index 0000000..937d8aa
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests/samples/BugFixes/NullNamespaceURI/ContactInfo.xsd
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema targetNamespace="http://www.example.org/ContactInfo"
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+	<xsd:element name="phoneNumber">
+		<xsd:complexType>
+			<xsd:sequence>
+				<xsd:element name="areaCode" type="xsd:int" />
+				<xsd:element name="number" type="xsd:int" />
+			</xsd:sequence>
+		</xsd:complexType>
+	</xsd:element>
+	
+	<xsd:complexType name="addressType">
+		<xsd:sequence>
+			<xsd:element name="street" type="xsd:string" />
+			<xsd:element name="city" type="xsd:string" />
+		</xsd:sequence>
+	</xsd:complexType>
+
+</xsd:schema>
+
diff --git a/tests/org.eclipse.wst.wsdl.tests/samples/BugFixes/NullNamespaceURI/ContactInfoService.wsdl b/tests/org.eclipse.wst.wsdl.tests/samples/BugFixes/NullNamespaceURI/ContactInfoService.wsdl
new file mode 100644
index 0000000..4909c54
--- /dev/null
+++ b/tests/org.eclipse.wst.wsdl.tests/samples/BugFixes/NullNamespaceURI/ContactInfoService.wsdl
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="ContactInfoService"
+	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	xmlns:contact="http://www.example.org/ContactInfo"
+	xmlns:tns="http://www.example.org/ContactInfoService"
+	targetNamespace="http://www.example.org/ContactInfoService">
+
+	<wsdl:types>
+		<xsd:schema
+			targetNamespace="http://www.example.org/ContactInfoService"
+			xmlns:contact="http://www.example.org/ContactInfo"
+			xmlns:tns="http://www.example.org/ContactInfoService"
+			xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+			<xsd:import namespace="http://www.example.org/ContactInfo"
+				schemaLocation="ContactInfo.xsd" />
+			<xsd:import schemaLocation="Confirmation.xsd" />
+		</xsd:schema>
+	</wsdl:types>
+
+	<wsdl:message name="updatePhoneNumberRequestMsg">
+		<wsdl:part element="contact:phoneNumber" name="input1" />
+	</wsdl:message>
+	<wsdl:message name="updatePhoneNumberResponseMsg">
+		<wsdl:part element="Confirmation" name="output1" />
+	</wsdl:message>
+	<wsdl:message name="updateAddressRequestMsg">
+		<wsdl:part type="contact:addressType" name="input2" />
+	</wsdl:message>
+	<wsdl:message name="updateAddressResponseMsg">
+		<wsdl:part type="ConfirmationType" name="output2" />
+	</wsdl:message>
+
+	<wsdl:portType name="testPortType">
+		<wsdl:operation name="updatePhoneNumber">
+			<wsdl:input message="tns:updatePhoneNumberRequestMsg" />
+			<wsdl:output message="tns:updatePhoneNumberResponseMsg" />
+		</wsdl:operation>
+		<wsdl:operation name="updateAddress">
+			<wsdl:input message="tns:updateAddressRequestMsg" />
+			<wsdl:output message="tns:updateAddressResponseMsg" />
+		</wsdl:operation>
+	</wsdl:portType>
+</wsdl:definitions>
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/BugFixesTest.java b/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/BugFixesTest.java
index f0b3027..98e8d07 100644
--- a/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/BugFixesTest.java
+++ b/tests/org.eclipse.wst.wsdl.tests/src/org/eclipse/wst/wsdl/tests/BugFixesTest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
+ * Copyright (c) 2006, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -17,6 +17,7 @@
 import java.util.List;
 
 import javax.wsdl.OperationType;
+import javax.xml.XMLConstants;
 import javax.xml.namespace.QName;
 
 import junit.framework.Assert;
@@ -177,6 +178,14 @@
       }
     });
 
+    suite.addTest(new BugFixesTest("AllowNullNamespaceURI") //$NON-NLS-1$
+    {
+      protected void runTest()
+      {
+        testAllowNullNamespaceURI();
+      }
+    });
+
     return suite;
   }
 
@@ -753,4 +762,63 @@
 
     assertEquals(operation3, actualOperation3);
   }
+
+  /**
+   * See https://bugs.eclipse.org/bugs/show_bug.cgi?id=178555
+   */
+  public void testAllowNullNamespaceURI()
+  {
+    Definition definition = null;
+
+    try
+    {
+      definition = DefinitionLoader.load(PLUGIN_ABSOLUTE_PATH + "samples/BugFixes/NullNamespaceURI/ContactInfoService.wsdl", true); //$NON-NLS-1$
+    }
+    catch (IOException e)
+    {
+      fail(e.getMessage());
+    }
+
+    String targetNamespace = "http://www.example.org/ContactInfoService"; //$NON-NLS-1$
+
+    // The element declaration for the output message part is specified in a
+    // schema with no target namespace. It should resolve fine and have a null
+    // namespace URI.
+    
+    QName output1QName = new QName(targetNamespace, "updatePhoneNumberResponseMsg"); //$NON-NLS-1$
+    Message output1Message = (Message) definition.getMessage(output1QName);
+    assertNotNull(output1Message);
+
+    Part part1 = (Part) output1Message.getPart("output1"); //$NON-NLS-1$
+    assertNotNull(part1);
+
+    QName output2ElementName = part1.getElementName();
+    assertNotNull(output2ElementName);
+    assertEquals(XMLConstants.NULL_NS_URI, output2ElementName.getNamespaceURI());
+    
+    XSDElementDeclaration output2ElementDeclaration = part1.getElementDeclaration();
+    assertNotNull(output2ElementDeclaration);
+    assertNotNull(output2ElementDeclaration.getContainer());
+    assertNull(output2ElementDeclaration.getTargetNamespace());
+
+    // The type definition for the output message part is specified in a
+    // schema with no target namespace. It should resolve fine and have a null
+    // namespace URI.
+    
+    QName output2QName = new QName(targetNamespace, "updateAddressResponseMsg"); //$NON-NLS-1$
+    Message output2Message = (Message) definition.getMessage(output2QName);
+    assertNotNull(output2Message);
+    
+    Part part2 = (Part) output2Message.getPart("output2"); //$NON-NLS-1$
+    assertNotNull(part1);
+
+    QName output2TypeName = part2.getTypeName();
+    assertNotNull(output2TypeName);
+    assertEquals(XMLConstants.NULL_NS_URI, output2TypeName.getNamespaceURI());
+    
+    XSDTypeDefinition output2TypeDefinition = part2.getTypeDefinition();
+    assertNotNull(output2TypeDefinition);
+    assertNotNull(output2TypeDefinition.getContainer());
+    assertNull(output2TypeDefinition.getTargetNamespace());
+  }
 }
\ No newline at end of file